【问题标题】:Added Row in Datatable not shown?未显示数据表中的添加行?
【发布时间】:2011-09-12 13:54:22
【问题描述】:

我有一个简单的代码,在这里我在我的数据集中的数据表中添加一行:

 DigiLocalDataSet dataset = new DigiLocalDataSet();

 DataRow newClientsRow = dataset.Tables["clients"].NewRow();

 newClientsRow ["clientnr"] = "123";
 newClientsRow ["name"] = "Pascal";
 newClientsRow ["city"] = "London";

 dataset.Tables["clients"].Rows.Add(newClientRow);

 clientsTableAdapter.Fill(dataset.clients);

 this.DataContext = dataset.clients.DefaultView;

但我在数据网格中看不到插入的行,我只看到“客户”表的现有行。

怎么了?

【问题讨论】:

    标签: c# wpf database datatable dataset


    【解决方案1】:

    您对 TableAdapter.Fill 的调用正在使用从您的数据源检索到的数据填充您的“客户”数据表,因此您将丢失手动添加到数据表中的记录。

    【讨论】:

    • 只有当 ClearBeforeFill 设置为 true 时才为 true。
    【解决方案2】:

    检查clientsAdapter.ClearBeforeFill 是否设置为true。在添加新行之前,将其设置为false 或在Clients 表上调用Fill()

    【讨论】:

      【解决方案3】:

      你试过了吗?

       newClientsRow.BeginEdit();
       newClientsRow ["clientnr"] = "123";
       newClientsRow ["name"] = "Pascal";
       newClientsRow ["city"] = "London";
       newClientsRow.EndEdit();
      

      【讨论】:

        【解决方案4】:

        我不知道命令,但您需要发布此行。

        【讨论】:

          【解决方案5】:

          您是否在重新填充之前接受了对数据集的更改? fill 从存储中拉取数据。

          【讨论】:

          • 我想将行直接添加到商店,我该怎么做?
          • 我没有使用过 DigiLocalDataSet,但会假设它的功能与标准 DataSet 非常相似,并具有增强功能。考虑到这一点,您将在完成更改后调用 dataset.AcceptChanges(),然后调用 tableadapter.Fill() 以使用新信息刷新数据集。
          猜你喜欢
          • 2011-06-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多