[Winform] 兩個ComboBox怎樣連動?

今天同事問了小弟一個很基本又很常用的Winform問題:

如果表單中有兩個ComboBox,第一個ComboBox顯示帳號,第二個ComboBox顯示屬於這個帳號的子帳號,當使用者選擇帳號時子帳號的ComboBox要動態顯示選項,最簡單最不用寫Code的方法是怎樣???

我自己試了一下幾個方法,感覺下面這個方法應該是最簡單方法中的其中一個:

  1. 首先設好DataSet中的DataTale並進行關連, ACCAO為帳號, SUBACCAO為子帳號.


  2. 接下來拉下畫面,上面的ComboBox是帳號,下面的ComboBox是子帳號。


  3. 把ComboBox對應在DataSet中ACCAO跟SUBACCAO兩個DataTable, 它們分別的設定如下:



  4. 最後在帳號的ComboBox中的SelectedIndexChanged事件加入下面一句程式碼:
            private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
            {
                sUBACCAOBindingSource.Filter = "ACCAO_NO = '" + comboBox1.SelectedValue.ToString() + "'" ;
            }
    
    意思就是說在子帳號ComboBox所對應的BindingSource中加入篩選條件,條件就是依據上面帳號ComboBox中使用者所選擇的帳號號碼。

就那麼一句就搞定了!



我想應該找不到給一句程式碼更簡單的做法吧XD,不過有的話記得跟我說一下,天外有天人外有人,給小弟機會好好學習啊!!!




Popular posts from this blog

[SQL SERVER] 找出LOCK方法懶人包

[SQL Server] 解決log檔(ldf file)過度膨脹的實戰經驗

[開箱] Dell P2415Q 4K螢幕開箱