从DataTable中填充数据,排除DataGridView中的1列

时间:2017-03-03 07:41:07

标签: c# winforms datagridview datatable

我有一个包含4行的DataTable。我的DataGridView有5行。其中一行是DataGridViewCheckboxColumn。我必须使用DataTable中的数据填充DataGridView,但不得触及或更改DataGridViewCheckboxColumn列。我怎么能这样做?

我通过以下代码从DataTable向DataGridView添加行:

foreach(DataRow dr in myDataTable.Rows)
{
    myDataGridView.Rows.Add(dr.ItemArray);
}

1 个答案:

答案 0 :(得分:1)

而不是逐个添加行使用数据绑定:

myDataGridView.DataSource = myDataTable;

DataGridView将为每个DataTable列生成列。为了避免现有列,应该设置DataPropertyName:

for(int c = 0; c < myDataTable.Columns.Count; c++)
   myDataGridView.Columns[c+1].DataPropertyName = myDataTable.Columns[c].ColumnName;
myDataGridView.DataSource = myDataTable;