我有一个包含4行的DataTable。我的DataGridView有5行。其中一行是DataGridViewCheckboxColumn
。我必须使用DataTable中的数据填充DataGridView,但不得触及或更改DataGridViewCheckboxColumn
列。我怎么能这样做?
我通过以下代码从DataTable向DataGridView添加行:
foreach(DataRow dr in myDataTable.Rows)
{
myDataGridView.Rows.Add(dr.ItemArray);
}
答案 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;