我需要将 DataTable 绑定(bind)到 DataGridView 。
我这样做:
DTable = new DataTable();
SBind = new BindingSource();
//ServersTable - DataGridView
for (int i = 0; i < ServersTable.ColumnCount; ++i)
{
DTable.Columns.Add(new DataColumn(ServersTable.Columns[i].Name));
}
for (int i = 0; i < Apps.Count; ++i)
{
DataRow r = DTable.NewRow();
r.BeginEdit();
foreach (DataColumn c in DTable.Columns)
{
r[c.ColumnName] = //writing values
}
r.EndEdit();
DTable.Rows.Add(r);
}
SBind.DataSource = DTable;
ServersTable.DataSource = SBind;
但是我所得到的只是 DataTable的 ADDS NEW列到 DataGridView的。我不需要这个,我只需要在现有列下编写即可。
最佳答案
试试这个:
ServersTable.Columns.Clear();
ServersTable.DataSource = SBind;
如果您不想清除所有现有的列,则必须为每个现有的列设置
DataPropertyName
,如下所示:for (int i = 0; i < ServersTable.ColumnCount; ++i) {
DTable.Columns.Add(new DataColumn(ServersTable.Columns[i].Name));
ServersTable.Columns[i].DataPropertyName = ServersTable.Columns[i].Name;
}