2010-12-01 126 views
2

我有一個問題,我似乎無法解決它。我以爲這裏有人可以幫忙。以編程方式將行添加到數據綁定的DataGridView?

我有一個窗體,有一個DataGridView的客戶。現在,我想將幾​​個客戶添加到此DataGridView中,而不實際將它們添加到數據庫中。這是因爲客戶端必須能夠創建客戶端列表,並在完成時一次添加全部客戶端。

我已經試過這樣:

string[] array = {"Microsoft", "Redmond", "Something"} 
dataGridView.Rows.Add (array); 

現在這個不能做,因爲我得到一個異常說在線的東西,你不能編程行添加到一個DataGridView是數據中的綁定

現在我也讀了這可以通過使用表適配器來插入行而不是直接通過添加他們來解決。 DGV。但這也是不可能的,因爲我在DGV中使用自定義標題,因爲現有數據是通過JOIN獲取的,所以如果我通過TableAdapter添加它們,我會得到一個與數據庫表模式不匹配的異常。

現在我真的失去了......任何人都知道這個問題的(半途)優雅的解決方案?

謝謝

+1

DGV綁定的數據源是什麼類型? – BFree 2010-12-01 20:32:42

+0

它是DataSet類型的。 – vanneto 2010-12-01 20:42:04

回答

1

將您的DGV綁定到BindingList<YourObject>,其中YourObject可以是一個具有反映數據庫架構屬性的簡單類。最初從數據庫填入BindingList,DGV將自動將YourObject實例添加到列表中。當您準備好提交更改時,請從BindingList手動執行。

1

爲了顯示這些行,只是做數據綁定前的UNION(類似的)行動。即得到您的記錄列表,添加特殊記錄,然後綁定數據。

更新還需要一些特殊的操作。但是由於缺乏關於數據結構的細節,所以不可能說出什麼。

相關問題