DataView Master Detail表不能自动筛选
我把两个DataGrid分别与两个DataView绑定,这两个DataView对应的DataTable是主从表关系(关系已经建立),问题是当我点击主DataGrid,从DataGrid并不自动过滤。
但是如果直接绑定到DataTable的话,就没有任何问题,所以不清楚是本来DataView就不能这样处理,还是通过其他方法实现?
我得代码如下:
mySqlDataAdapter1=new SqlDataAdapter();
mySqlDataAdapter2=new SqlDataAdapter();
mySqlDataAdapter1.SelectCommand=new SqlCommand("select * from planningdb..pcArrangeMain",sqlConnection1);
mySqlDataAdapter2.SelectCommand=new SqlCommand("select * from planningdb..pcArrangeDetail",sqlConnection1);
myDS=new DataSet();
mySqlDataAdapter1.Fill(myDS,"pcArrangeMain");
mySqlDataAdapter2.Fill(myDS,"pcArrangeDetail");
myDV1=new DataView(myDS.Tables["pcArrangeMain"]);
myDV2=new DataView(myDS.Tables["pcArrangeDetail"]);
DataColumn[] pCol={myDS.Tables["pcArrangeMain"].Columns["Job_No"] ,myDS.Tables["pcArrangeMain"].Columns["GK_No"] };
DataColumn[] cCol={myDS.Tables["pcArrangeDetail"].Columns["Job_No"],myDS.Tables["pcArrangeDetail"].Columns["GK_No"]};
DataRelation myDR;
myDR=new DataRelation("StoreSales",pCol,cCol);
myDS.Relations.Add (myDR);
dataGrid1.DataSource = myDV1;
dataGrid2.DataSource = myDV2;