3

我有一个组合框,绑定到Datatable 并具有以下属性:

cboCars.DisplayMember = "carLiscen";
cboCars.ValueMember = "carNo";

DisplayMember当我知道 时如何选择ValueMember

4

4 回答 4

6

如果你ValueMember有一套,你可以选择使用SelectedValue

cboCars.DisplayMember = "carLiscen";
cboCars.ValueMember = "carNo";

cboCars.SelectedValue = "valuemember value";
于 2013-01-06T11:06:46.803 回答
2

您可以cboCars.SelectedValue = "123";为此使用属性。这是一个代码片段,它将在行动中显示它。

    public void Test()
    {
        ArrayList info = new ArrayList();
        info.Add(new CarInfo { CarLiscen = 123456, CarNo = 123});
        info.Add(new CarInfo { CarLiscen = 234567, CarNo = 234 });
        cboCars.DataSource = info;

        cboCars.DisplayMember = "CarLiscen";
        cboCars.ValueMember = "CarNo";

        cboCars.SelectedValueChanged +=
            delegate(object sender, EventArgs e)
            {
                if (cboCars.SelectedIndex != -1)
                {
                    this.Text = cboCars.SelectedValue.ToString();
                }
            };

        cboCars.SelectedValue = 234;
    }

如果您想知道CarInfo. 这是它的代码(相当简单):

public class CarInfo
{
    public int CarLiscen { get; set; }
    public int CarNo { get; set; }
}

希望这可以帮助。

于 2013-01-06T22:57:05.293 回答
1

您可以搜索正确的项目并将其设置为该项目,非常简单:

cbTEST.SelectedIndex = cbTEST.FindStringExact("your search string here");

或根据 ListViewItem 选择一个项目:

cbTEST.SelectedIndex = cbTEST.FindStringExact(lvTEST.SelectedItems[0].SubItems[0].Text);

就是这样。非常简单!

于 2017-11-17T13:42:18.563 回答
1

嗨,伙计们,如果搜索文本或值,最好的方法是

int Selected;    
int count = ComboBox1.Items.Count;
    for (int i = 0; (i<= (count - 1)); i++) 
     {        
         ComboBox1.SelectedIndex = i;
        if ((string)(ComboBox1.SelectedValue) == "SearchValue") 
        {
            Selected = i;
        }

    }

    ComboBox1.SelectedIndex = Selected;
于 2018-02-12T07:12:45.170 回答