如何在一系列堆叠数据网格中显示来自多个datatable的数据
本文关键字:数据 显示 datatable 网格 一系列 数据网 | 更新日期: 2023-09-27 18:18:15
我有一个未定义的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 = ??;
是否有简单的方法来做到这一点?
你的意思可能是:
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);
}
}
在SQL中不能指定数据集的名称,只有在c#/VB中可以这样做。像
Dataset.Table[0].Name = "MyTable";