2010-03-06 146 views
0

我有一個複雜的問題,請你幫幫我。爲什麼combobox刷新不起作用?

問題:

我有一個TabControl的形式。有兩個TabPages第一個是dataGridView,第二個是comboboxes

DataGridView填充有數據從Table1,第一數據源combobox設置爲TableCB1另一選項卡的第二comboboxTableCB2

之間TableCB1, TableCB2 ...是DataRelations等(TableCB1.ID->TableCB2.ParentID)。我使用數據綁定來將表中的當前列綁定到控件。

當我打開窗體,第一個標籤頁(dataGridView)填充和工作正常,但如果我選擇第二個TabPage的(與comboboxes),那麼combobox選擇的項目是不正確的選擇!只有第一個combobox設置正確,但所有其他人都選擇了數據源中的第一項,直到我更改綁定源位置或使dataset.rejectchanges()

但是,如果使TabPage兩個顯示在表單加載,然後組合框項目選擇正確!

我知道這是一個非常具體的問題,但希望有人能幫助我解決這個問題。

我正在做的.NET3.5和winforms。

謝謝。

回答

0

this線程的回覆可能是你所需要的:直到創建控件

數據綁定不上的控件發生。 TabPage只有在TabPage變爲可見後纔會創建子控件。要獲得DataBinding,您需要強制創建TabPage上的子控件,並且您可以通過顯示/隱藏TabPage(正如您發現的那樣)執行該操作。