我在Form上有一个表格布局,我在其中使用Datagrid来显示数据。我第一次为它分配数据源时,它运行良好,但是当我第二次将数据源分配给DataGrid时,它不会调用DataGrid的 RowsAdded事件而Datagrid不会显示除标题以外的任何内容,Datagrid显示RowCount
为0。
我在这里也发现了类似的问题:
Datagridview rowcount showing 0 even when there is a valid datasource
编辑#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
答案 0 :(得分:1)
使用dataGridView.Rows.Add()方法添加行时会触发Rows added事件。 您应该使用DataSourceChanged事件来触发dataGridView的数据源的更改。 结帐http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.datasourcechanged.aspx 和http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.rowsadded.aspx
希望这有帮助!