我看到了很多问题并应用它们的结果,但什么也没有发生,我仍然看不到gridview中任何列标题/数据。
代码很简单,我确实得到了数据集中的数据,并在调试中看到了它,然后我只是使用datagridview进行分配。
datagridviewjobs.Datasource=tempJobsDataset;
但是什么也没有发生,它仍然是空的!
我看到了很多问题并应用它们的结果,但什么也没有发生,我仍然看不到gridview中任何列标题/数据。
代码很简单,我确实得到了数据集中的数据,并在调试中看到了它,然后我只是使用datagridview进行分配。
datagridviewjobs.Datasource=tempJobsDataset;
但是什么也没有发生,它仍然是空的!
你不能将网格的数据源设置为整个DataSet,一个DataSet可能有数十个相关表,因此它不知道绑定哪个表。可以尝试以下方法:
datagridviewjobs.Datasource=tempJobsDataset.Tables("MyTable");
如果您在分配后填写它,则必须接受表格上的更改,以便获取GridView进行更新...
这里是一个完整的初始化,带有包装类。
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只能接受一个数据表。