背景
近日在写代码的时候,发现DataTable加载的数据栏位若不是查询SQL表里已存在的栏位,则无法用赋值语句对DataTable已加载的数据进行修改。
但是比较困惑的一点是,之前我的代码已发布,且是可以成功运行修改的,但现在不可以了,所以可能应该还是有更好的方法进行设置,而不是每次修改都要对栏位进行遍历。
查询SQL
SELECT 0 as MarkFlag
FROM Table
解决办法
可设置属性ReadOnly = false
我的是单个的,你的多的话,可以使用遍历,或者再找找别的方法。
dttemp.Columns["MARKFLAG"].ReadOnly = false;
dttemp.Rows[0]["MARKFLAG"] = 1; // 重新赋值
参考文章
C# DataTable Column '' is read only. - enych - 博客园 (cnblogs.com)