带有datagridview的C#也并排写入行

时间:2016-07-29 14:41:29

标签: c# datagridview datatable

我希望并排显示列值。你能帮忙吗?

代码

con.Open();
cmd.Connection = con; 
DataTable dt = new DataTable("Tablo"); 
DataRow row; 
int i = 0;
foreach (var item in name) 
{ 
    cmd.CommandText = "SELECT TOP 0 * FROM "+item+""; 
    using (Sq1DataReader reader = cmd.ExecuteReader(CommandBehavior.SchemaOnly))
    { 
        DataTable schemaTable = reader.GetSchemaTable(); 
        dt.Columns.Add(item.ToString());
        foreach (DataRow colRow in schemaTable.Rows)
        {
            row = dt.NewRow();
            row[i] = colRow.Field<String>("ColumnName").ToString();
            dt.Rows.Add(row);
        }
        i++;
    } 
} 
con.Close(); 
return dt; 

输出:

output

1 个答案:

答案 0 :(得分:0)

我假设name是一个列列表。

看起来您正在一次读取一列数据,将每个新值添加为新行。这意味着您将获得一个表,其中包含所有第一列数据,后跟所有第二列数据等。

您需要在一次调用中读取每行的所有数据,然后将新行添加到结果中。这是从数据库中读取数据的常用方法。

或者,当您到达第一列数据的末尾时,再次开始更新现有行并重复每列。