2009-08-26 70 views
7

如果我有一個DataTable並想創建一個新行,我首先調用DataTable.NewRow(),它將返回一個DataRow。該行然後具有表格的架構,並且我可以設置該行中每個字段的值。此時表格「知道」Row,還是僅在我致電DataTable.Rows.Add(DataRow row)後纔會發生?我可以多次將相同的DataRow添加到DataTable嗎?

如果我打電話DataTable.Rows.Add()多一次是在數據表中創建的重複行重複值?

我問的原因是我想寫一個遞歸函數,它將迭代一個樹結構並用值填充一個DataTable。所以我有這樣的情況,即爲每個孩子創建的行將具有所有相同值的列,因爲它們來自父代。

所以我的想法是將DataRow與父母的信息傳遞給每個孩子。孩子會添加其信息,然後將該行添加到表格中。但我試圖找出是否需要爲每個孩子調用DataTable.NewRow(),或者如果我多次添加同一行,將自動創建新行。

+0

哇 - 問1小時前已經表現出了在谷歌的時候我去尋找類似的事情。謝謝! – Jeffrey 2009-08-26 14:16:27

回答

14

沒有,但它很容易複製行,以便你可以得到你想要的東西(假定現有行是在一個叫existingRow變量):

var newRow = dataTable.NewRow(); 
newRow.ItemArray = existingRow.ItemArray; 
dataTable.Rows.Add(newRow); 
0

不,它會生成System.ArgumentException類型的異常。

+0

是否有創建具有相同值的重複DataRow的簡單方法? – 2009-08-26 04:26:05

-1

我建議你把數據的陣列中然後將數據添加到數據表 例如

yourDataTable.Rows.Add(data[0]........); 

newdatarow會產生異常錯誤

相關問題