繁体   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