我已经看到了很多问题并应用了他们的结果,但没有任何反应我仍然没有在 gridview 中看到任何列标题/数据。
代码很简单,我确实在 Dataset 中获取数据,我在调试中看到它,我只是使用分配给 datagridview
datagridviewjobs.Datasource=tempJobsDataset;
但是什么也没发生,它一直是空的!
我已经看到了很多问题并应用了他们的结果,但没有任何反应我仍然没有在 gridview 中看到任何列标题/数据。
代码很简单,我确实在 Dataset 中获取数据,我在调试中看到它,我只是使用分配给 datagridview
datagridviewjobs.Datasource=tempJobsDataset;
但是什么也没发生,它一直是空的!
不能将一个网格的Datasource设置为整个DataSet,一个DataSet可能有几十个与之关联的表,所以它不知道要绑定到哪个表。试试这个
datagridviewjobs.Datasource=tempJobsDataset.Tables("MyTable");
如果您在分配后填写它,您必须接受表格上的更改才能更新网格视图...
这是一个带有包装类的完整初始化。
private void init(DataGridView datagridview, IHave_A_DataTable x)
{
datagridview.DataSource = x.GetDataTable();
datagridview.Columns[datagridview.ColumnCount - 1].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
datagridview.CurrentCell = datagridview[0, datagridview.RowCount - 1];
x.Changed += new EventHandler((o, e) =>
{
IHave_A_DataTable sender = o as IHave_A_DataTable;
sender.GetDataTable().AcceptChanges();
});
}
此外,一个数据集存储的不仅仅是一个表,但 gridview 只能接受一个数据表。