我有两个combobox,CB1 和 CB2。
CB1已经绑定了表中的列A,
CB2想要在选定了列A的数据后,显示列B中 列A值=CB1.value 的数据项。我初步的想法是在CB2绑定的查询中,添加一个where约束,但是不知道该怎么做。用查询生成器的时候,不知道该怎么把CB1的值传递进去,传给select语句。谢谢给位啦!

解决方案 »

  1.   

    combobox有displayMember和valueMember之分,绑定的时候ID用valueMembe,显示的内容用displayMember,通过cbo的change事件可以打到联动的效果,where子句直接id=cb1.value
      

  2.   


    我的工程里面,原来CB1,是中文名(生产规格combobox.value),生成查询就有问题。
    刚才换了英文的(comboxbox.value),最后的确定的时候,提示“无法绑定由多个部分组成的标识符"combobox.value"。
      

  3.   


    是指我的SQL表的内容么?一共六个字段:
    生产规格
    原料1纯度
    原料2纯度
    原料3纯度
    配比
    产品纯度这个表里面有很多数据了,我就是想通过四个combobox,一次选定生产规格、三种原料纯度,最后读取出来对应的那条记录的配比和产品纯度这两个值。
      

  4.   

    代码用什么绑定CBO的?DataSet?
      

  5.   


    我用的是VS2010~~呃~~在cbo的右上角的小三角,智能菜单里面,勾选“使用数据绑定项”,然后就可以选择数据源,以及显示成员和值成员~~
      

  6.   


    DataSet ds = new DataSet();
    sda.Fill(ds);
    //cboGrade.DataSource = ds.Tables[0]; //你的错误应该就在此,如果在给下面2个属性进行赋值前就绑定了数据,那么系统会自动给下面2个属性初始化(初始化的值非空非null,而是"System.Data.DataRowView")
    cboGrade.DisplayMember = "GradeName";
    cboGrade.ValueMember = "GradeId";
    cboGrade.DataSource = ds.Tables[0];   //放到这进行绑定就没问题了
      

  7.   


    我去工程文件的 .Designer.cs 里面找到了ComboBox的有关绑定部分的代码,好像不是DataSet,一共就两句:
    this.ComboBox.DataBindings.add(...)
    this.ComboBox.DataSource=this.策略BindingSource您之前说的自己绑定不用向导,就是指在这里自己写代码么?
      

  8.   

    呃,我说的就两句,指的是关于绑定部分就这两句。
    设定ValueMember也是有的~~