我需要将 DataTable 绑定到 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;
但我得到的是 数据表中 增加了新的 列到我 的DataGridView 。我不需要这个,我只需要在现有列下编写即可。 拜托,帮帮我,伙计们!
尝试这个:
ServersTable.Columns.Clear(); ServersTable.DataSource = SBind;
如果您不想清除所有现有的列,则必须DataPropertyName为每个现有的列进行设置,如下所示:
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; }