1

我的表单上有一个表格布局,我在其中使用 Datagrid 来显示数据。当我第一次为其分配数据源时,它运行良好,但是当我第二次将数据源分配给 DataGrid 时,它不会调用 Datagrid 的RowsAdded 事件,并且 Datagrid 除了其标题和 Datagrid 不显示任何内容显示RowCount为 0。

我在这里也发现了类似的问题:

即使存在有效的数据源,Datagridview 的行数也显示为 0

编辑#1

我的代码是

gridProjectEdit.DataSource = null;
gridProjectEdit.Columns.Clear();
gridProjectEdit.Rows.Clear();            
gridProjectEdit.Refresh();

if(dt!=null)
dt.Clear();
dt=methodCaller.GetProjectData(); //get the data
gridProjectEdit.DataSource = dt;  //copying datatable
4

1 回答 1

1

当使用 dataGridView.Rows.Add() 方法添加行时,会触发 Rows added 事件。您应该使用 DataSourceChanged 事件来触发 dataGridView 的数据源的更改。还可以查看http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.datasourcechanged.aspxhttp://msdn.microsoft.com/en-us/library/system.windows。 forms.datagridview.rowsadded.aspx

希望这可以帮助!

于 2013-11-02T15:42:52.860 回答