BindingSource绑定问题

hnwl0507 2012-01-30 04:27:37
现在我想用BindingSource是行控件与对象绑定,而这个DataSource来源一个类对象,如一个类对象跟另一个类对象有关。如:有一个类叫Tray类,一个叫Meter类,Tray可以包含多个Meter,那么我在窗体添加两个BindingSource控件同时将其数据源用添加项目数据源的方式向导“对象”添加这两个类,然后再在控件中加两个DataGridView控件数据源分别绑定到这两个BindingSource上,现在我想要的效果是,绑定Tray类与Meter类的有关系,当在绑定Tray类的DataGridView控件行时在绑定Meter类的DataGridView控件中显示出与之有关系的Meter数据。不知该如何处理,请高手指教???
...全文
232 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hnwl0507 2012-03-07
  • 打赏
  • 举报
回复
我所希望的是要暂时以父子关系存在内存中,选父行所子数据在子datagridview中显示,但这种关系不知怎么的在我输入后选择其他父行后,再来选择时子数据全部没有了,在内存中消失了。
烟波钓 2012-03-05
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 hnwl0507 的回复:]
实现了这个绑定后,为什么我在主datagridview选择一行输入值,然再在子datagridview输入多行值 ,然后再在主datagridview中新建行输入值,可当再去选择前一个输入的行时,在子datagridview输入的值无法显示,不见了。该如何处理呢?

如主datagriedview(dg1)绑定bindingsource1(bd1),子datagridview(dg2)绑定bi……
[/Quote]
存起来哇
hnwl0507 2012-03-05
  • 打赏
  • 举报
回复
求解中...
hnwl0507 2012-03-01
  • 打赏
  • 举报
回复
实现了这个绑定后,为什么我在主datagridview选择一行输入值,然再在子datagridview输入多行值 ,然后再在主datagridview中新建行输入值,可当再去选择前一个输入的行时,在子datagridview输入的值无法显示,不见了。该如何处理呢?

如主datagriedview(dg1)绑定bindingsource1(bd1),子datagridview(dg2)绑定bindingsource2(bd2),而bd2.datasource=bd1 bd2.dataMember为bd1中的一个 List<Meter>()集合。dg1中输入一行,再到dg2中输入多行,再dg1中新输入一行后选择先前输入的dg1的行dg2中的数据不见了,要如何做才能保持他们的关系在内存不掉数据?? 谢谢解答
wanghui0380 2012-01-31
  • 打赏
  • 举报
回复
看你的对象设计情况
如果你的对象设计是本身包含关系的话,我1楼的方法即可

class Tray
{
List<Meter> Meter{get;set;}
}

这种情况的对象,本身就有关系关联,所以直接如1楼设置即可


如果你本身就是两毫无关联的对象设计

那么可以在第一个BindingSouce相关事件上设置监听,一般是ItemChanged事件,然后手动根据第一个BindingSouce的ccuritem值获取Meter关联数据而后设置第二个BindingSouce的数据源
hnwl0507 2012-01-31
  • 打赏
  • 举报
回复
我这没跟数据库打交道的,只是想暂时存在内存中,然后使用这些数据进行简单的操作.
WAN 2012-01-30
  • 打赏
  • 举报
回复
WAN 2012-01-30
  • 打赏
  • 举报
回复
将对象数据生成DataSet数据,可以使用DataRelation
http://technet.microsoft.com/zh-cn/magazine/y8c0cxey(VS.85).aspx
或者手动配置TableAdapter
http://msdn.microsoft.com/zh-cn/library/5xf878ky(v=vs.80).aspx
wanghui0380 2012-01-30
  • 打赏
  • 举报
回复
把第二个BindingSouce的数据源指向第一个BindingSource

然后把datamerbem设置为Meter

其他设置不用动

110,549

社区成员

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

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

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