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
您肯定知道这些表的名称吗?我有不同的数据表,我知道它们的名称,但我不知道如何像我描述的那样将它们组合在一起。类似于这个答案吗?