高手救命啊
我想的做成如下的界面样子,左边是一颗树,右边的上边是一个主表的DataGrid,
右边的下边是一个从表的DataGrid,当我点左边的树时,右边主表能定位到相应的记录,我现在是在树结点的Tag里保存了主表的主键,如CustomerID,但是我如何能过滤出想要的记录呢?现在的问题是如果我把主表换成DataView,那么可以过滤,但是主表变化时从表不变,如果我按下面的代码把相关联起来,但是DataTable里没有rowsFilter="CustomerID=''"这样的过滤条件,
各位高手帮帮忙啊,
System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection("server=localhost;database=northWind;uid=sa;password=194910");
conn.Open();
System.Data.SqlClient.SqlDataAdapter da = new System.Data.SqlClient.SqlDataAdapter("select * from customers",conn);
System.Data.DataSet dt = new System.Data.DataSet();
da.Fill(dt,"customers");
System.Data.SqlClient.SqlDataAdapter dad = new System.Data.SqlClient.SqlDataAdapter("select * from orders",conn);
dad.Fill(dt,"Orders");
DataColumn MasterCols = new System.Data.DataColumn();
DataColumn DetailCols = new System.Data.DataColumn();
MasterCols = dt.Tables[0].Columns["CustomerID"];
DetailCols = dt.Tables[1].Columns["CustomerID"];
try
{
DataRelation GoodManager = new System.Data.DataRelation("GoodManager",MasterCols,DetailCols,true);
dt.Relations.Add(GoodManager);
}
catch(Exception e)
{
MessageBox.Show("两表之间的关系无法建立");
}
this.dataGrid1.DataSource = dt;
this.dataGrid1.DataMember = "customers";
this.dataGrid2.DataSource = dt;
this.dataGrid2.DataMember = "customers.GoodManager";