【问题标题】:How to present the data from multiple DataTables in a series of stacked data grids?如何在一系列堆叠的数据网格中呈现来自多个 DataTables 的数据?
【发布时间】:2013-06-12 13:12:34
【问题描述】:

我有一个未定义的DataTables。我从我的DataBase 得到它们,每个DataTable 代表我DataBase 中的一个表,我不使用DataBase 的所有表,只是我需要的几个表(这些是代码前面的选择集)而不是全部列(与表格相同)。

现在我的问题:我想在DataGrid 中显示它们,一个在另一个下方,它们之间的表名有中断。

这就是我获取数据表的方式:

List<DBTable> selectedTbl = DBObject.SingDBObj.GetSelectedTables();

foreach (DBTable tbl in selectedTbl)
{
    string cols = tbl.GetSelectedColumnNames();

    string query = @"SELECT " + cols + " FROM [" + DBObject.SingDBObj.DataSource + "].[" + DBObject.SingDBObj.Database + "].[" + tbl.Schema + "].[" + tbl.Name + "];";
    DataTable DTShow = DBObject.SingDBObj.ExecuteQuery(query);
}

dataGridShowColmns.DataContext = ??;

有没有简单的方法可以做到这一点?

【问题讨论】:

  • 你肯定知道表的名称是什么?
  • 我有不同的数据表,我知道名称,但我不知道如何像我描述的那样将它们组合在一起。
  • 与此答案类似? stackoverflow.com/a/14358983/1073107

标签: c# wpf datatable


【解决方案1】:

你的意思可能是这样的:

DataSet ds = new DataSet();

// dataset is here just initialized for demonstration, you would first
// get the tables from database and populate dataset

for (int i = 0; i < ds.Tables.Count; i++)
{
    DataTable dt = ds.Tables[i];

    foreach (DataRow dr in dt.Rows)
    {
        dataGridView1.Rows.Add(dr);
    }
}

【讨论】:

    【解决方案2】:

    不能在 SQL 名称中为数据集分配,只有在 c#/VB 中才能分配。喜欢

    Dataset.Table[0].Name = "MyTable";
    

    【讨论】:

      猜你喜欢
      • 2016-09-01
      • 2017-06-18
      • 1970-01-01
      • 2019-05-08
      • 2019-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多