我有一个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的文本,但组合框的值没有被选中,只有文本是。如果我选择SelectedValue
或SelectedItem
,我什么也得不到。我有来自所选项目的相应文本,但我必须再次从组合框中选择值:(
答案 0 :(得分:0)
我得到了这样的工作:
int xcb;
xcb = this.cbBrand.FindString(lvMain.SelectedItems[0].SubItems[1].Text);
this.cbBrand.SelectedIndex = xcb;