积极答复者
求救:ComboBOX使用BindingSource绑定更新数据源的问题

问题
-
我使用bindingSource绑定控件,代码如下:
dataset ds=new dataset();
da.Fill(da,"post");
BindingSource bindsource=new BindingSource(ds,"post");
this.combobox1.DataBings.Add("Text",bindsource,"Department");
....
我有两个问题需要请教:
一、ComboBox下拉列表弹出窗体的问题
1.ComboBox的下拉列表,使用DropDown弹出窗体选择文本,当使用到combobox控件上时,使用dataBings.Add(”Text“,bindsource,”Department“)绑定,无法更新到数据库中。
2.直接在ComboBox的Text上填写数据就可以提示有修改并成功更新到了数据源中。
3.请问这是怎么回事?
二、我使用左联接的方式多表查询,可以使用BindingSource进行绑定控件吗?我应该怎么做呢?
答案
-
Hello,
取消SelectedIndexChanged注册
comboBox.SelectedIndexChanged-=SelectedIndexChanged(...)
秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
- 已建议为答案 ThankfulHeartModerator 2014年3月7日 7:58
- 已标记为答案 CaillenModerator 2014年3月10日 4:40
全部回复
-
【第一问】
Combobox本身就是一个数据源绑定控件,你应该设置其DataSource,DisplayMember和ValueMember属性,这样下拉列表出现的内容都是DisplayMember绑定的数值,而选择某个真正会被更新到数据库的是ValueMember的内容绑定;同时你应该设定Combobo的SelectedValue而不是Text作为绑定数值:
dataBings.Add("SelectedValue",bindsource,"Department");
【第二问】
当然可以,你把结果Fill到一个Table中,然后用BindingSource。
ASP.NET Forum
Other Discussion Forums
FreeRice Donate
Issues to report
Free Tech Books Search and Download -
感谢您的指点。
1.我使用ComboBox的DropDown事件,弹出的窗体是TreeView的部门名称,获取到部门名称后由ComboBox.Text获取,我想也许是这里有问题。但是我修改了后仍然无法提示数据源有修改。
2.我直接在ComboBox的Text属性中直接填写数据就会提示数据有修改,我想可能是点击下拉列表和Text可能是两个数据源,但是我现在还一无所获,希望得到您的指点。
3.我用左联接方向查询到的数据,当我用BindingSource时,需要指一个表名,但是我联接了好多张表,不知道填写哪个表合适。不知道是不是父、子、孙的方式进行bindingsource绑定。
-
Hello,
取消SelectedIndexChanged注册
comboBox.SelectedIndexChanged-=SelectedIndexChanged(...)
秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
- 已建议为答案 ThankfulHeartModerator 2014年3月7日 7:58
- 已标记为答案 CaillenModerator 2014年3月10日 4:40
-
Hello,
取消SelectedIndexChanged注册
comboBox.SelectedIndexChanged-=SelectedIndexChanged(...)
秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
补充:
如果是匿名事件,请直接删除。因为“匿名”你无法找到函数体本身。
此外如果你通过面板操作,请切换到“事件”面板后删除绑定的事件。
ASP.NET Forum
Other Discussion Forums
FreeRice Donate
Issues to report
Free Tech Books Search and Download