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

Child list for field " " cannot be created

我有以下一组代码,用于将值添加到我的 DataGridViewDataTable 作为我的数据源。但是,它一直给我错误 "Child list for field tbl_main cannot be created"。谁能帮我找出问题所在?

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);
}

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

  1. 删除数据集,改为使用 dgvMySchedule.DataSource = tbl_main;
  2. 如果您 need/want 数据集,请添加 tbl_main.TableName = "tbl_main";
  3. 如果您 need/want 数据集,请删除 dgvMySchedule.DataMember = "tbl_main" 行(然后网格将自动使用现有的一个数据表)。

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

我在 winforms 中使用绑定时遇到了这个问题。 我设置了绑定到一个不存在的字段名称。