数据表列<column name =“”>在更新</column>时是readonly.Error

时间:2011-12-28 12:48:09

标签: c# asp.net

我创建了一个datatable.There我有列名“TotalCases”。当我尝试更新行时,它得到一个错误“Column TotalCases是readonly”。我设置了ReadOnly = false.Still我收到此错误

DataTable dtStock = new DataTable();
DataColumn dcTotalCases = new DataColumn("TotalCases");
dcTotalCases.ReadOnly = false;
dtStock.Columns.Add(dcTotalCases);

  DataRow drStock = dtStock.Rows.Find(Datakey);
  drStock["TotalCases"] = ((System.Web.UI.WebControls.TextBox)item.FindControl("txtOrderCases")).Text;

我想在网格中的模板列的文本框中保留值。我正在尝试以下链接Link

2 个答案:

答案 0 :(得分:0)

我认为drStock["TotalCases"]是只读的。换句话说,此索引器属性是只读的,并且该列不是只读的。也许你应该尝试另一种语法。我会检查出来并更新我的答案。

此代码适用于我:

DataTable dtStock = new DataTable();
DataColumn dcTotalCases = new DataColumn("TotalCases");
dcTotalCases.ReadOnly = false;
dtStock.Columns.Add(dcTotalCases);
DataRow drStock = dtStock.NewRow();
drStock["TotalCases"] = "something";
dtStock.Rows.Add(drStock);

首先,您应该使用NewRow()方法创建具有相同模式的DataRow。然后你应该为它分配值,它工作得很好。然后,您应该将新创建的行添加到表中。

答案 1 :(得分:0)

在尝试查找然后更新行之前,我会向表中添加一些行。在您尝试更新之前,我还会检查您的行不是NULL