تأثير التنفيذ: حدد صفًا في الجدول الرئيسي واحصل على تفاصيل الصف من الجدول.
الطريقة الأولى: تنفيذ التعليمات البرمجية.
ضع GridView وDetailView على الصفحة. قم بربط البيانات بـ GridView وقم بتعيين المفتاح الأساسي، ثم اكتب التعليمات البرمجية في حدث SelectedIndexChanged: عندما يتغير التحديد، يتغير DetailView أيضًا إلى التفاصيل المقابلة.
كود محدد:
باستخدام النظام؛
باستخدام System.Data؛
باستخدام System.Configuration؛
باستخدام System.Collections؛
باستخدام System.Web؛
باستخدام System.Web.Security؛
باستخدام System.Web.UI؛
باستخدام System.Web.UI.WebControls؛
باستخدام System.Web.UI.WebControls.WebParts؛
باستخدام System.Web.UI.HtmlControls؛
باستخدام System.Data.SqlClient؛
فئة عامة جزئية MasterDetail2: System.Web.UI.Page
{
Page_Load باطلة محمية (مرسل الكائن، EventArgs e)
{
إذا (!Page.IsPostBack)
{
سلسلة SQL = "SELECT * FROM [Orders]";
GridView1.DataSource = Binding(SQL);
GridView1.DataKeyNames = new string[] { "OrderID" };
GridView1.DataBind();
}
}
GridView1_SelectedIndexChanged باطلة محمية (مرسل الكائن، EventArgs e)
{
سلسلة OrderID = Convert.ToString(GridView1.SelectedValue);
string SQL = "SELECT * FROM [OrderDetails] WHERE [OrderID]='" + OrderID + "'";
تفاصيلView1.DataSource = Binding(SQL);
تفاصيلView1.DataBind();
}
/**//// <الملخص>
/// تنفيذ عبارة SQL لإرجاع جدول البيانات
/// </الملخص>
/// <param name="SQL">بيان SQL المطلوب تنفيذه</param>
/// <returns>جدول البيانات</returns>
ربط DataTable المحمي (سلسلة SQL)
{
SqlConnection myConn = new SqlConnection(ConfigurationManager.ConnectionStrings["AppConnectionString1"].ConnectionString);
DataTable dt=new DataTable();
SqlDataAdapter myAdapter = new SqlDataAdapter(SQL, myConn);
myAdapter.Fill(dt);
العودة د.ت
}
}
الطريقة الثانية: قم بتعيين خصائص التحكم لوضع GridView وDetailView على الصفحة، ثم يتوافق كل منهما مع مصدر البيانات. يمكن تحقيق ذلك طالما أنك تستخدم SelectedValue لـ GridView كمعلمة في SelectCommand لمصدر بيانات DetailView.
<حدد المعلمات>
<asp:ControlParameter ControlID = "EmployeesGridView" الاسم = "معرف العنوان" PropertyName = "SelectedValue"
اكتب = "Int32" />
</حدد المعلمات>
كلتا الطريقتين بسيطتان جدًا، والطريقة الثانية خالية من التعليمات البرمجية بشكل أساسي، والطريقة الأولى تتمتع بتحكم أكثر مرونة.