我正在尝试编辑数据集中的数据(更改一行中的列中的值),该数据集未链接到数据库 . 我一直在谷歌搜索大约一个小时没有结果,也没有好的例子 . 希望有人可以帮助我 .
我的表(DataTable1)有这些列 - ThreadID(字符串,PK),StatusText(字符串) .
我可以在DataGridView中选择一行,并获取ThreadID值 . 无论我如何尝试编辑关联数据集中的行,都不会发生任何事情或我收到错误 . 这就是我现在拥有的:
string sThreadID = "";
sThreadID = gridThreads.Rows[gridThreads.CurrentRow.Index].Cells["ID"].Value.ToString(); // gives me a good id, which is in the dataset
DataRow drRow = dataThreads.Tables["DataTable1"].Rows.Find(sThreadID);
drRow["StatusText"] = "Test";
获取行(第3行)时得到的错误是:“对象引用未设置为对象的实例 . ” . 我无法创建一个新的DataRow对象,因为它没有公共构造函数(根据我的研究) .
我确定我遗漏了一些基本的东西,但我不熟悉使用数据集 . 我究竟做错了什么?谢谢你的帮助 .
2 回答
drRow如何知道“statusText”是什么?您可能只获得了一个副本,尝试克隆/复制,以便也可以复制该行的数据类型 . 只是一个想法 .
会发生
dataThreads
或Tables["DataTable1"]
是null
吗?要创建新行,请使用数据表的
NewRow()
方法 .