编辑时将值绑定到组合框

本文关键字:组合 绑定 编辑 | 更新日期: 2023-09-27 18:05:42

我有一个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";

我的主表单有几个记录,如:模型,品牌,类型,当我想编辑特定的记录时,我选择记录并单击编辑按钮,将值输入到相应的文本框和组合框中,像这样:

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;
    }

工作得很好,我将文本输入到组合框和文本框,但是组合框的值没有被选中,只有文本被选中。如果我选SelectedValueSelectedItem,我什么也得不到。我已经从选中的项目中获得了相应的文本,但我必须重新选择组合框中的值:(

我讲清楚了吗?: P

编辑时将值绑定到组合框

我让它像这样工作:

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