通过取得datatable的列集陪塌纯合来为datagridview添加列,通过取得datatable的行集合来为datagridview添加行衫册,代码如下:
//dataGridView1.DataSource = table;//通常只写这一句就可以了,但根据你芦咐的要求,用下面的循环也可以实现相同功能。
dataGridView1.Columns.Clear();//清空列
foreach (DataColumn column in table.Columns)
{
//为datagridview添加列,第一个参数是列名,第二个参数是列标题
dataGridView1.Columns.Add(column.ColumnName, column.ColumnName);
}
dataGridView1.Rows.Clear();//清空行
foreach (DataRow line in table.Rows)
{
//因为列已经一致了,所以直接将datatable的行转成数组就可以添加到datagridview中了
dataGridView1.Rows.Add(line.ItemArray);
}
foreach (DataRow row in dt.Rows)
{
foreach (DataColumn col in dt.Columns)
{
int i = dataGridView1.Rows.Add();
string cellname = "";
switch (col.ColumnName)
{
case "列名1":
{
乎顷 cellname = "Datagridview列名1";
break;
}
case "列名2":
渣顷轿 {
cellname = "Datagridview列名2";
break;
}
default:
{
continue;
}
}
如肆 dataGridView1.Rows[i].Cells[cellname].Value = row[col];
}
}
直接DataGridView.DataSource = DataTable 不可以吗?
你既然启衫用了控件干嘛不用.DataSource="或旁绝"绑衫姿定?
别忘了**.DataBind()
DataGridView.DataSource = DataTable