日期:2014-05-18  浏览次数:21198 次

datatable直接如何交互?
在做程序开发的时候遇到一个这样的问题,界面上有两个datagridview,而这两个datagridview的来源都是一个datatable,只是根据条件不同而显示不同的数据,我本来的想法是用一个datatable根据条件不同,在两个datagridview上面显示不同的数据,但是在实际的操作中好像没有办法这样,所以我想要把原来的datatable分三个datatable,一个是主的,另外两个是副的,负责绑定到datagridview上面,因为我希望其中一个datagridview发生变化的时候,能够修改到对应的主datatable上面,不知道谁有好的方法

------解决方案--------------------
直接用两个DataTable不就行了。
非要用一个,可以用DataTable的Select方法进行过滤。
------解决方案--------------------
DataTable.Select("name='"++"'");
------解决方案--------------------
未涉及到这种2个显示需求,不过过程应该是这样的,一个数据源经过第一次筛选后绑定到一个显示,然后去掉第一次筛选后再次筛选绑定第二个显示,就是共用一个数据源的,没试过,不过说思路而已,具体可行否,调试才能确定。
------解决方案--------------------
一般datagridview都是通过bindingsource来绑定datatable(实际是dataview)的,这样的话就可以通过设置bindingsource的filter属性来控制显示内容了。如datatable发生改变,调用bindingsource的resetbinding就可以刷新datagridview。所以应该为你的每个datagridview添加一个bindingsource。
------解决方案--------------------
额,一个bindingsource就ok了

至于后面的我没办法讲了,因为我不知道你到底是父子主从关系(一对多关系),还是只是吧行散成多组(一对一关系)

如果是一对一关系,其实没撒问题,不过是绑定同一个bindingsource,只是绑定的列不同,但数据源是一样,自然修改一个等于修改其他的

如果是一对多关系,通常使用dataset,同时多个dt级联。这其实还是一个数据源,自然任然还是修改一个,就等于修改相关级联项