لعرض بيانات سجل محدد في GridView
كيف أربط Querystring مع Sqldatasource Control
السؤال غير واضح
ولكن أعتقد ما تريده هو عند الضغط على سجل معين في الGridView تظهر بياناته التفصيلية في الأسفل
هناك عدة طرق ومنها الطريقة التي أفضلها وهي باستخدام الكود وليس باستخدام Wizard
أولا يجب تحويل أي حقل من الحقول على الأقل إلى TemplateField وبعدها اضغط يمين الماوس على ال GridView واختر من القائمة Edit Template ثم اختر الحقل الذي تم تحويله، عندها تستطيع تغيير - استبدال - الكنترول Label إلى كنترول LinkButton وقم بعدها باختيار الكنترول الجديد واختر من الخصائص Edit DataBinding
من الشاشة التي ستظهر من خيار Text في المربع النصي له اكتب
Eval("اسم الحقل")ومن خيار CommandArgument في المربع النصي تكتب ما يلي
Eval("اسم حقل المفتاح الرئيسي")بعد ذلك اضغط على موافق
الآن من خصائص الكنترول نفسه يوجد خيار CommandName اكتب فيه مثلا Select
الآن في الكود في حدث RowCommand الخاص ب GridView
If e.CommandName = "Select" Then
اكتب الكود الذي يقوم باستدعاء البيانات بواسطة جملة SQL Select بشرط CInt(e.CommandArgument)
أعرف أن الشرح ليس كافيا ولكن أعتقد أنه قربك للحل

مدير مشاريع محترف - PMP
محلل أنظمة معتمد
مدير فريق برمجة تطبيقات ويب .Net
======|||||=====
======@ @====
==o0o== ( ) ==o0o===
================
كل منا يحتاج إلى الإرادة حتى يستطيع أن يقوم بعمله
عفوا أستاذي الفاضل ..
أنا أستقبل متغير id الموظف يرسل من صفحة AddEmployee.aspx بعد ادخال بياناته
الى صفحة .EditEmployee.aspxلتحرير بياناته داخل GridView
وليس كما ذكرت أني أريد أضعط على Select لعرض البيانات في صفحة أخرى
يعني أريد ان أقرأ المتغير id داخل جملة Select الخاصة بالـ GridView لعرض سجل
الموظف فقط المعني
Select * from where id=request.qyeryString("id")اللهم أطل عمري وأحسن عملي واختم بالشهادة أجلي
<SelectParameters> <asp:QueryStringParameter Name="id" QueryStringField="id" /> </SelectParameters>
سؤال آخر يفرض نفسه ..
كيف أقرأ id أثناء بعد عملية SQL_state INSERT
هل استطيع قراءة الـid بعد عملية الإدراج لبيانات موظف
لأنه أريد ان أرسل id لصفحة أخرى كمتغير لقراءة البيانات التي
تم حفظها بغض التعديل او الحذف .. ( لأن الحذف والتعديل في شاشة والإضافة في شاشة اخرى )
اللهم أطل عمري وأحسن عملي واختم بالشهادة أجلي
يمكنك ارجاع مفتاح السجل المضاف باستخدام المتغير @@Identity بحيث يتم اعادته كمخرج Output من الSqlDataSource Insert :
InsertCommand="INSERT INTO Employers (Name,Address) VALUES (@Name, @Address); SELECT @Id = @@Identity" <InsertParameters> <asp:Parameter Name="Name" Type="String" /> <asp:Parameter Name="Address" Type="String" /> <asp:Parameter Direction="Output" Name="Id" Size="4" Type="Int16" /> </InsertParameters>
كما تلاحظ فان المدخل Id هو من نوع وسيتم اسناد قيمة المفتاح الجديد اليه مباشرة.لكي تحصل على قيمة هذا المدخل يمكنك التقاط الحدث Inserted الخاص بالSqlDataSource:
protected void SqlDataSource1_Inserted(object sender, SqlDataSourceStatusEventArgs e)
{
if (e.Exception == null && e.AffectedRows == 1)
{
Response.Redirect("EditEmployer.aspx?id="+ e.Command.Parameters["@Id"].Value.ToString();
}
}رائع كعادتك أستاذ ( مدني )
غدا بإذن الله سأبدأ تطبيق حلولك
اللهم أطل عمري وأحسن عملي واختم بالشهادة أجلي