我需要數據綁定幫助。想象一下這種情況。我有兩個類,一個叫Isotope,另一個叫Photon。類同位素包含BindingList光子。我也有一個靜態類StaticVariables,我把它放在BindingList同位素。現在,我想製作一張表格,讓我瀏覽同位素列表。我創建了一個組合框CBIsotopes,我必然要StaticVariables.Isotopes:綁定控件到一組對象
CBIsotope.DataSource = StaticVariables.Isotopes;
CBIsotope.ValueMember = "IsotopeName";
CBIsotope.DisplayMember = "IsotopeName";
到目前爲止,一切正常。現在我想創建一個datagridview DGVPhotons,它將顯示所選同位素的所有光子。我的第一本能是做一些沿途的事情
DGVPhotons.DataSource = StaticVariables.ListOfIsotopes.Photons
這當然是行不通的。我想另一件事是使用ComboBox的SelectedItem屬性:
(1)
DGVPhotons.DataSource = (CBIsotope.SelectedItem as Isotope).Photons;
這工作,但沒有得到很好的,因爲我想。如果我在加載時執行它,則沒有任何反應,因爲ComboBox是空的。如果我在ComboBox中實際選擇一個項目時執行該操作,那麼它可以工作,但是當我在ComboBox中更改選擇時,DataGridView保持不變。解決方法是將行(1)放在ComboBox的SelectedIndexChanged中,但它對我來說似乎是一種強力方法,而且我覺得我的方法根本上是錯誤的......有沒有更優雅的解決方案?