0

我有一个未定义的数量DataTables。我从我的 中获取它们DataBase,每个DataTable代表我的一个表DataBase,我不使用DataBase我需要的几个表中的所有表(这些在代码的前面是 selectet),而不是所有列(与表相同)。

现在我的问题:我想将它们显示在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 = ??;

是否有捷径可寻?

4

2 回答 2

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);
    }
}
于 2013-06-12T13:31:40.913 回答
0

In SQL name to a dataset cannot be assigned, only way you can do it in c#/VB. like

Dataset.Table[0].Name = "MyTable";
于 2013-06-12T13:26:23.190 回答