combobox绑定数据,但是在查询中添加where约束,怎么实现?

godtan 2012-03-17 12:07:38
我有两个combobox,CB1 和 CB2。
CB1已经绑定了表中的列A,
CB2想要在选定了列A的数据后,显示列B中 列A值=CB1.value 的数据项。

我初步的想法是在CB2绑定的查询中,添加一个where约束,但是不知道该怎么做。用查询生成器的时候,不知道该怎么把CB1的值传递进去,传给select语句。

谢谢给位啦!
...全文
107 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
BetterMe 2012-03-17
  • 打赏
  • 举报
回复
combobox有displayMember和valueMember之分,绑定的时候ID用valueMembe,显示的内容用displayMember,通过cbo的change事件可以打到联动的效果,where子句直接id=cb1.value
godtan 2012-03-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 denqh 的回复:]

两个cb同时绑定同一个表ID
[/Quote]

呃~~是指绑定同一个数据源么?
然后呢?
DENQH 2012-03-17
  • 打赏
  • 举报
回复
两个cb同时绑定同一个表ID
godtan 2012-03-17
  • 打赏
  • 举报
回复
最后确实没办法了,只好手写代码~~
godtan 2012-03-17
  • 打赏
  • 举报
回复
呃,我说的就两句,指的是关于绑定部分就这两句。
设定ValueMember也是有的~~
godtan 2012-03-17
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 kamui_shiron 的回复:]

C# code

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

我去工程文件的 .Designer.cs 里面找到了ComboBox的有关绑定部分的代码,好像不是DataSet,一共就两句:
this.ComboBox.DataBindings.add(...)
this.ComboBox.DataSource=this.策略BindingSource

您之前说的自己绑定不用向导,就是指在这里自己写代码么?
BetterMe 2012-03-17
  • 打赏
  • 举报
回复

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]; //放到这进行绑定就没问题了
godtan 2012-03-17
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 kamui_shiron 的回复:]

用向导绑定的数据集存在很多废代码和不可控性,建议手写代码,想怎么绑就怎么绑
[/Quote]

呃~~囧一个~~

不会~~~
BetterMe 2012-03-17
  • 打赏
  • 举报
回复
用向导绑定的数据集存在很多废代码和不可控性,建议手写代码,想怎么绑就怎么绑
godtan 2012-03-17
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 kamui_shiron 的回复:]

代码。。。用什么绑定CBO的?DataSet?
[/Quote]

我用的是VS2010~~

呃~~在cbo的右上角的小三角,智能菜单里面,勾选“使用数据绑定项”,然后就可以选择数据源,以及显示成员和值成员~~
BetterMe 2012-03-17
  • 打赏
  • 举报
回复
代码。。。用什么绑定CBO的?DataSet?
godtan 2012-03-17
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 kamui_shiron 的回复:]

SQL贴出来
[/Quote]

是指我的SQL表的内容么?

一共六个字段:
生产规格
原料1纯度
原料2纯度
原料3纯度
配比
产品纯度

这个表里面有很多数据了,我就是想通过四个combobox,一次选定生产规格、三种原料纯度,最后读取出来对应的那条记录的配比和产品纯度这两个值。

BetterMe 2012-03-17
  • 打赏
  • 举报
回复
SQL贴出来
godtan 2012-03-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 kamui_shiron 的回复:]

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

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

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧