2010-08-14 66 views
2

我试图编辑数据集中的数据(更改一行中列的值),该数据集未链接到数据库。我一直在Google上搜索一个小时,结果没有,也没有好的例子。希望有人能帮助我。我的表(DataTable1)有这些列 - ThreadID(字符串,PK),StatusText(字符串)。c#无法编辑数据集中的数据行

我可以在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对象,因为它没有公共构造函数(根据我的研究)。

我确定我错过了一些基本的东西,但我不熟悉使用数据集。我究竟做错了什么?谢谢你的帮助。

+0

你检查过'drRow!= null'吗? – 2010-08-14 06:55:17

回答

0

drRow如何知道“statusText”是什么?您可能只会得到一个lowlow副本,请尝试克隆/复制,以便复制该行的数据类型。只是一个想法。

+0

另外,尝试索引0而不是DataTable1,除非这是真正的表名。 – Induster 2010-08-14 06:09:28

+0

你知道吗,它确实被命名为“DataTable1”,但是当我切换到索引时它工作。谢谢Induster – 2010-08-14 14:54:59

0

这是否发生dataThreadsTables["DataTable1"]null

要创建新行,请使用数据表的NewRow()方法。