【问题标题】:Reading master and child tables from a combined table从组合表中读取主表和子表
【发布时间】:2011-07-03 06:18:48
【问题描述】:

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

谢谢。

【问题讨论】:

    标签: c# linq datatable ultrawingrid


    【解决方案1】:

    也许您应该只在您的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 并在必要时访问它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多