无法创建字段“”的子列表

时间:2016-10-31 08:50:51

标签: c# datagridview datatable dataset datamember

我有以下一组代码,用于将DataGridViewDataTable的值添加为我的数据源。但是,它一直给我错误“无法创建字段tbl_main的子列表”。有人可以帮我识别问题吗?

dgvMySchedule.Columns.Clear();
dgvMySchedule.Rows.Clear();
dgvMySchedule.ClearSelection();

dataSet.Tables.Add(tbl_main);
dgvMySchedule.DataSource = dataSet;
dgvMySchedule.DataMember = "tbl_main";

tbl_main.Columns.Add("TIME");
tbl_main.Columns.Add("CLASS");

DataRow row;
dgvMySchedule.RowTemplate.Height = 8;
for (int i = 0; i <= 71; i++)
{
    row = tbl_main.NewRow();
    row["TIME"] = i;
    row["CLASS"] = i;
    tbl_main.Rows.Add(row);
}

3 个答案:

答案 0 :(得分:1)

您的tbl_main未命名,或者名称与“tbl_main”不同。有三种可能的解决方案:

  1. 删除DataSet,而不是dgvMySchedule.DataSource = tbl_main;
  2. 如果您需要/想要DataSet,请添加tbl_main.TableName = "tbl_main";
  3. 如果您需要/想要DataSet,请删除说dgvMySchedule.DataMember = "tbl_main"的行(网格将自动使用存在的一个DataTable)。

答案 1 :(得分:1)

我终于意识到自己的错误。我忘了在声明期间初始化我的数据表。我使用了DataTable tbl_main = new DataTable();而不是DataTable tbl_main = new DataTable(&#34; tbl_main&#34;);这些变化几乎解决了我的担忧。谢谢!

答案 2 :(得分:0)

我在winforms中使用绑定时遇到此问题。 我已将绑定设置为不存在的字段名称。