我有最奇怪的錯誤 - 我的應用程序執行一個代碼,導致10行結果被添加到DataTable,然後顯示在Ultragrid上。
一旦在〜20點運行,以下情形發生的情況:
1.第一行被添加到數據表:
DataRow drNew = dtResults.NewRow();
- 與值填寫它 -
dtResults.Rows.Add(drNew);
行不爲空,因爲我在檢查後發現了一個斷點:if(drNew.IsNull(0))
。
2.第二行添加方法相同,但添加後以下if
爲真:
if(dtResults.Rows[0].IsNull(0))
。C#DataTable - 行元素變爲空
任何想法如何發生這件事?
非常感謝。
編輯 - 將標題更改爲更準確,謝謝。
編輯2:
我試圖趕上RowChanging和RowDeleting事件,並檢查它們內部是否
dtResults.Rows[0].IsNull(0)
或e.Row.IsNull(0)
,但我不能趕上那些在當時的第一行改變其內容從值到空值。
我不知道這是否與你的問題有關(可能不是),但是'drNew.IsNull(0)'和'dtResults.Rows [0] .IsNull(0)'不會,通過更多的暗示,檢查* row *是否爲空,它檢查指定列索引處的值是否爲null。這是一個非常大的差異。 http://msdn.microsoft.com/en-us/library/chk182xa.aspx – 2011-03-10 09:13:05