0

所以我有一个已经从数据库中填充的类型化数据集。在显示特定的 Windows 窗体时,我想向该数据集添加一些临时列以显示在网格中。

问题是我可以很好地添加这些列,但是每当我尝试为我以编程方式添加的列之一设置一个值时,该值不会改变,并且该行的行状态保持不变。

//DataSet has already been filled from database
private void AddColumns( MyTypedDataSet DataSet )
{
   DataSet.Table1.Columns.Add( "newCol", typeof(double));

   foreach( MyTypedDataSet.Table1Row dataRow in DataSet.Table1 )
      dataRow["newCol"] = 123.4;
}

如果我打开监视窗口,则会在整个 foreach 循环中dataRow.RowState保留。Unchanged

如果我在循环运行后打开 DataSet Visualizer,每行的列仍然是 DBNull

任何帮助将不胜感激。谢谢。

4

1 回答 1

0

在添加修改之前尝试提交您的数据(AcceptChanges)

            DataSet.Table1.AcceptChanges();

           foreach( MyTypedDataSet.Table1Row dataRow in DataSet.Table1 )
           {
                dataRow["newCol"] = 123.4;
           }
于 2012-06-29T15:41:51.917 回答