C# 如何在一系列堆叠的数据网格中显示来自多个数据表的数据?

C# 如何在一系列堆叠的数据网格中显示来自多个数据表的数据?,c#,wpf,datatable,C#,Wpf,Datatable,我有未定义数量的数据表。我从我的数据库中获取它们,每个数据表代表我的数据库中的一个表,我不使用数据库的所有表只使用我需要的少数表(这些表在代码前面被选中),也不使用所有列(与表相同) 现在我的问题是:我想在一个DataGrid中显示它们,一个在另一个的下面,表名在它们之间有分隔符 这是我获取数据表的方式: List<DBTable> selectedTbl = DBObject.SingDBObj.GetSelectedTables(); foreach (DBTable tbl

我有未定义数量的
数据表
。我从我的
数据库
中获取它们,每个
数据表
代表我的
数据库
中的一个表,我不使用
数据库的所有表
只使用我需要的少数表(这些表在代码前面被选中),也不使用所有列(与表相同)

现在我的问题是:我想在一个
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 = ??;
List selectedTbl=DBObject.singdobj.GetSelectedTables();
foreach(选定的DBL中的DBTable tbl)
{
字符串cols=tbl.GetSelectedColumnNames();
字符串查询=@“从[“+DBObject.singdobj.DataSource+]”中选择“+cols+”.[“+DBObject.singdobj.Database+]”.[“+tbl.Schema+]”.[“+tbl.Name+]”;“;
DataTable DTShow=DBObject.SingDBObj.ExecuteQuery(查询);
}
dataGridShowColmns.DataContext=??;

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

在SQL名称中,无法为数据集赋值,只有在c#/VB中才能这样做。像

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

你的意思可能是:

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);
    }
}
DataSet ds=新数据集();
//dataset在这里只是为了演示而初始化的,您应该首先
//从数据库中获取表并填充数据集
对于(int i=0;i
您肯定知道这些表的名称吗?我有不同的数据表,我知道它们的名称,但我不知道如何像我描述的那样将它们组合在一起。类似于这个答案吗?