簡體   English   中英

根據其ItemsValue設置組合框所選項目

[英]Set Combobox selected item based on its ItemsValue

我有一個組合框,其中一個項目的“顯示文本”為“學校”,它的“項目值”為19。因此,我已將這19個存儲到DataGrid中。

然后,我從DataGrid檢索Combobox值,然后我要做的就是簡單地基於從DataGrid檢索的值,組合框應將其設置為顯示項或SelectedValue的值為19。在上述情況下,組合框應顯示其選擇的項“ School”如果其值為19

到目前為止,我已經編寫了代碼。 但這總是給我Combobx的第一項。

            DataGrid gd = (DataGrid)sender;
        DataRowView rowSelected = gd.SelectedItem as DataRowView;
        if(rowSelected!=null)
        {
            for (int i = 0; i < comboBox1.Items.Count;i++ )
            {
                if (Convert.ToString(comboBox1.SelectedValue) == Convert.ToString(rowSelected[14]))
                {
                    index = comboBox1.Items.IndexOf(comboBox1.SelectedValue);
                }
                comboBox1.SelectedItem= comboBox1.Items[index];
            }
            textBox9.Text=rowSelected[14].ToString();

        }

將您的代碼更改為

if(rowSelected!=null)
{
    int index = comboBox1.Items.IndexOf(rowSelected[14]);
    comboBox1.SelectedItem = comboBox1.Items[index];
}

要么

使用組合框的FindStringExact()方法

int i = comboBox1.FindStringExact("Combo"); 
if(i >= 0)
{
}

現在,我可以根據其值從WPF DataGrid檢索組合框項。

            for (int i = 0;i <comboBox1.Items.Count; i++)
            {
                comboBox1.SelectedIndex = i;
                if ((string)(comboBox1.SelectedValue) == Convert.ToString(rowSelected[14]))
                {
                    index = i;
                }

            }

            comboBox1.SelectedIndex = index;

暫無
暫無

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

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