使用Infragistics UltraWinGrid.UltraGrid控件在我的.Net 3.5 winforms应用程序中显示分层数据。 从我的中间层,我得到一个数据表,它结合了主表和子表的数据。 我可以使用group by子句获取子表的数据。
使用如下的DataRelation,然后将包含主表和子表的本地数据集变量绑定到网格。
ds.Tables.Add(tableMaster);
ds.Tables.Add(tableChild);
DataRelation reln = new DataRelation("MyReln", ds.Tables[0].Columns[colName], ds.Tables[1].Columns[colName], false);
ds.Relations.Add(reln);
ds.AcceptChanges();
this.ultraGrid.DataSource = ds;
我的查询是,从上面的整合数据表中读取此tableMaster和tableChild的最快方法是什么?
感谢。
答案 0 :(得分:0)
也许你应该只在你的DataGridView
控件中存储一个JOIN结果:
string sql = "SELECT * " +
"FROM TableMaster M " +
"LEFT JOIN TableChild C ON M.ColName=C.ColName";
// SelectDataTable would be your collection method
DataTable bigTable = SelectDataTable(sql);
this.ultraGrid.DataSource = bigTable.DefaultView;
这样,您的数据将始终可用。
编辑:当然,您可以随时将bigTable
添加到DataSet
并在必要时访问它。