c#编辑时将值绑定到组合框

时间:2013-03-24 23:15:45

标签: c# combobox windows-forms-designer

我有一个Windows窗体应用程序,其中有几个组合框填充了sql数据库表值。

这是一个代码的示例:

public void brandSelectCB(ComboBox cb)
    {
        string sSQL = " SELECT" +
                      "      id, name" +
                      "  FROM" +
                      "      tbBrand" +
                      "  ORDER BY" +
                      "      name";

        sqlConnect connect = new sqlConnect();
        DataTable dt = new DataTable();
        dt = connect.getBD(sSQL);

        cb.DataSource = dt;
        cb.DisplayMember = "name";
        cb.ValueMember = "id";

我的主要表单有几个记录,如:模型,品牌,类型,当我想编辑特定的记录时,我选择记录并单击编辑按钮,将值输入相应的文本框和combox,如下所示:

private void btnEdit_Click(object sender, EventArgs e)
    {

            this.txtID.Text = lvMain.SelectedItems[0].SubItems[0].Text;
            this.cbBrand.SelectedText = lvMain.SelectedItems[0].SubItems[1].Text;
            this.cbModel.SelectedText = lvMain.SelectedItems[0].SubItems[2].Text;
            this.txtName.Text = lvMain.SelectedItems[0].SubItems[3].Text;
            this.cbType.SelectedText = lvMain.SelectedItems[0].SubItems[4].Text;
    }

工作正常,我得到组合框和texbox的文本,但组合框的值没有被选中,只有文本是。如果我选择SelectedValueSelectedItem,我什么也得不到。我有来自所选项目的相应文本,但我必须再次从组合框中选择值:(

我清楚了吗? :P

1 个答案:

答案 0 :(得分:0)

我得到了这样的工作:

int xcb;
xcb = this.cbBrand.FindString(lvMain.SelectedItems[0].SubItems[1].Text);
this.cbBrand.SelectedIndex = xcb;