【问题标题】:Child list for field " " cannot be created无法创建字段“ ”的子列表
【发布时间】:2016-10-31 08:50:50
【问题描述】:

我有以下一组代码用于将值添加到我的 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);
}

【问题讨论】:

  • 为什么要为一个表创建数据集?无论如何,您仍然需要将创建的行添加到表中并重新绑定它。

标签: c# datagridview datatable dataset datamember


【解决方案1】:

看起来像你的tbl_main未命名,或者它的名称不同于“tbl_main”。有三种可能的解决方案:

  1. 删除数据集,而是使用dgvMySchedule.DataSource = tbl_main;
  2. 如果需要/想要数据集,请在tbl_main.TableName = "tbl_main";
  3. 如果需要/想要数据集,请删除dgvMySchedule.DataMember = "tbl_main"(网格将自动使用一个可持续的礼物)。

【讨论】:

  • hi!我终于意识到了我的错误。我忘了在声明期间初始化我的DataTable。我使用了DataTable TBL_Main = New DataTable();而不是DataTable Tbl_main =新的DataTable(“Tbl_main”);变化几乎回答了我的担忧。谢谢!
【解决方案2】:

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

【讨论】:

  • 请将此标记为答案,以免此问题作为开放式问题留存。
【解决方案3】:

我在Winforms中使用绑定进行了此问题。 我设置了与不存在的字段名称的绑定。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-19
    • 1970-01-01
    • 1970-01-01
    • 2021-08-26
    • 2019-12-18
    相关资源
    最近更新 更多