2

我正在使用 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 的最快方法是什么?

谢谢。

4

1 回答 1

0

也许您应该只将 JOIN 结果存储在您的DataGridView控件中:

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;

这样,您的数据将始终可用。

编辑:当然,您可以随时添加bigTableDataSet在必要时访问它。

于 2011-07-08T21:41:49.053 回答