DataSource 和 DataBindings.Add 的区别

小忙儿 2010-10-20 09:41:54
listBox 和 comboBox 都有 DataSource,DisplayMember,ValueMember这三个属性,我一般就用这三个:
DataSource设置为一个视图,DisplayMember,ValueMember就设置为两个字段。
一开始时显示是没有问题的,为视图新增记录也没有问题,
但是修改记录的时候,listBox 显示的文本不会马上发生改变,
而且设置了数据源的时候是不容许设置 text 属性的,
我需要在这个listBox改变一下当前选中的项,
然后才能看到显示的文本改变了。

我尝试用Update()和Refresh()方法,也没有效果。
重新设置DataSource也不行,

但是先设置DataSource为另一个不相干的视图,
然后再重新设置回原来的视图,
并重新设置DisplayMember,ValueMember就可以,
而且还保留了原来的选中项。

但是这样当然不是好的做法,
所以我就想能不能用DataBindings?
查资料说DataSource只是一个属性,而DataBindings是什么指针对应的。

但是我发现:
如果把两个LISTBOX的DataSource设置成同一个视图,
则改变其中一个LISTBOX的选中项,另一个LISTBOX会自动保持一致。
这是不是说明DataSource也有什么指针对应呢~?

另外,我使用DataBindings.add的几种重载都没有看到效果,跟没用一样
请问:
如果有视图DV1,三个字段aa,bb,cc,有记录若干条,有有combox1,
我想要用DataBindings.add把DV1跟combox1绑定起来
把aa作为combox1的选项文本,bb作为对应的值~
应该如果做~~~?
...全文
590 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
小忙儿 2010-11-05
  • 打赏
  • 举报
回复
不顶了,结了帖玩去~~
小忙儿 2010-11-03
  • 打赏
  • 举报
回复
每天一顶,等高人现身~~~
小忙儿 2010-11-01
  • 打赏
  • 举报
回复
每天一顶,等高人现身~~~
phil999 2010-10-31
  • 打赏
  • 举报
回复
抄一段msdn,关于listbox和combobox的数据绑定:

如果绑定到未实现 IBindingList 接口的数据源(例如,ArrayList),则在数据源更新时,将不会更新绑定控件的数据。例如,如果将组合框绑定到 ArrayList,并将数据添加到 ArrayList 中,则这些新项将不会出现在组合框中。但是,您可以通过调用控件绑定到的 BindingContext 类的实例上的 SuspendBinding 和 ResumeBinding 方法来强制更新组合框。
小忙儿 2010-10-31
  • 打赏
  • 举报
回复
每天一顶,等高人现身~~~
小忙儿 2010-10-29
  • 打赏
  • 举报
回复
ajq1989 老大,你应该知道是是个菜鸟吧,连一句注释都没有,晕哦~~~
ajq1989 2010-10-27
  • 打赏
  • 举报
回复
DataTable dt = GetDataTableBySQL("select * from DataTable dtUsers = GetDataTableBySQL("select * from DV");

bindingSource1.DataSource = dt;

bindingNavigator1.bindingSource = bingdingSource1;

txtName.DataBindings.Add("Text", bindingSource1, "aa");

cmbGroup.DataBindings.Add("SelectedIndex", bindingSource1, "bb");

");

bindingSource1.DataSource = dtUsers;

bindingNavigator1.bindingSource = bingdingSource1;

txtName.DataBindings.Add("Text", bindingSource1, "Name");

cmbGroup.DataBindings.Add("SelectedIndex", bindingSource1, "Group");

小忙儿 2010-10-21
  • 打赏
  • 举报
回复
有一点猜想了,DataSource好像是单向的,而DataBindings,我猜测它可能是双向的~~
小忙儿 2010-10-20
  • 打赏
  • 举报
回复
自己顶一下~~~
是太难了吗?怎么帮顶的人也没有一个啊~
还是太容易了,高人们不屑指点?
还是我发帖的技巧不够,标题没魅力,时段该被埋没?

恳请各位高人赐教,帮顶有分,谢谢~~~!

111,129

社区成员

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

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

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