向数据集添加了列,不允许设置值

时间:2012-06-29 15:36:44

标签: c# .net dataset

所以我有一个已经从数据库中填充的类型化数据集。当显示特定的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;
}

如果我打开观察窗口,dataRow.RowState在整个foreach循环中仍然是Unchanged

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

非常感谢任何帮助。感谢。

1 个答案:

答案 0 :(得分:0)

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

            DataSet.Table1.AcceptChanges();

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