2010-08-14 35 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()方法。