سلام خسته نباشید
من یک سوال دارم
در سی شارپ 2003 اگر Relation ها تنظیم شده باشد اطلاعات در داخل گریدها هریکال (سلسله مراتبی) نمایش داده می شود ولی من نتونستم این کار را در سی شارپ2005 انجام دهم لطفا در صورت امکان کمک کنید.
Printable View
سلام خسته نباشید
من یک سوال دارم
در سی شارپ 2003 اگر Relation ها تنظیم شده باشد اطلاعات در داخل گریدها هریکال (سلسله مراتبی) نمایش داده می شود ولی من نتونستم این کار را در سی شارپ2005 انجام دهم لطفا در صورت امکان کمک کنید.
با فرض اینکه دوتا دیتاگرید روی فرمت داشته باشی، یکی برای جدول master و یکی هم details، از این کد استفاده کن :
// this sample code create relation between Customers & Orders tables
SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=northwind;User Id=sa;Password=09126511085;");
SqlCommand cmd = new SqlCommand("select * from customers", con);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
// fill dataset with master table (customers)
adapter.Fill(ds, "customers");
// fill datast with child table (orders)
cmd.CommandText = "select * from orders";
adapter.Fill(ds, "orders");
// define this 2 DataColumn for join Customers & Orders tables together
DataColumn dcPK = ds.Tables["customers"].Columns["customerID"];
DataColumn dcFK = ds.Tables["orders"].Columns["customerID"];
// create relation between 2 tables with DataRelation object
DataRelation CustomersToOrders = new DataRelation("CustomersToOrders", dcPK, dcFK);
ds.Relations.Add(CustomersToOrders);
// bind dataGridView1.DataSource to master table
this.dataGridView1.DataSource = ds;
this.dataGridView1.DataMember = "Customers";
// bind dataGridView1.DataSource to our DataRelation(it is child of master table(Customers))
this.dataGridView2.DataSource = ds;
this.dataGridView2.DataMember = "Customers.CustomersToOrders";