簡體   English   中英

從另一個組合框中選擇時,更改另一個組合框項目列表

[英]Change another Combobox Item list when selecting from another Combobox

我有3個字符串數組作為組合框的數據源。

        public string[] monitoringDays =
                         new[] { "Sunday", "Tuesday", "Wednesday",
                        "Thursday", "Friday", "Saturday",
                        "Sunday" };
        public string[] specialtemplates = new[] {
            "GENSET PAD & CANOPY CONSTR",
            "ATS INSTALLATION NSA",
            "GENSET CANOPY PAT",
            "TWR CON SKOM AND MOB",
            "SITE SURVEY ACCESS PASS"
        };

        public string[] templates = new[] {
            "IMPLEMENTATION",
            "SKOM ACESS PASS",
            "LOSR SURVEY ACCESS PASS",
            "SOIL TEST ACCESS PASS",
            "IMPLEM ACU INSTALLATION",
            "SOIL TEST",
            "Site Survey AC Upgrade NSA",
            "AC UPGRADE IMPLEM SA",
            "AC UPGRADE EXT SA",
            "GENSET PAD & CANOPY CONSTR",
            "ATS INSTALLATION NSA",
            "GENSET CANOPY PAT",
            "TWR CON SKOM AND MOB",
            "SITE SURVEY ACCESS PASS"
        };

每個字符串數組都是組合框A和B的數據源。

選擇特定的組合框A的項目時,我應該怎么做才能使組合框B的項目列表更改(例如,當我選擇星期一時,組合框項目將更改為specialtemplates

我努力了

            if (cbMonitor.SelectedIndex == 1) {
                cboxTemplate.DataSource = specialtemplates;
            }

但這不起作用。 (完全錯誤)

干杯!

您需要調用Refresh方法,以便它更新組合框數據並反映在UI上:

cboxTemplate.DataSource = specialtemplates;
cboxTemplate.Refresh(); // call this method

在您的監控天中缺少星期一...

您需要在cbMonitor上創建一個SelectedValueChanged事件處理程序,其背后的代碼如下:

  private void cbMonitor_SelectedValueChanged(object sender, EventArgs e) { if (cbMonitor.SelectedIndex == 1) cboxTemplate.DataSource = specialtemplates; } 

這樣可行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM