现在因为用ClientDataSet来存放数据,前台多个数据感知控件来显示数据。问题是现在我只用一个ClientDataSet存数据,前台可能有多个DBGrid来展示,而每个DBGrid可能需要Filter来过滤一部分数据。而DataSet的Filter是针对本身的,因此如果我想在有多个DBGrid需要Filter的情况下,能否只用一个ClientDataSet来存放数据?我的结构是
ClientDataSet+DataSource+DBGridEh

解决方案 »

  1.   

    如果grid绑定dataset的情况下是不可以的,这种情况下grid只是一个显示dataset的数据的数据感知组件
      

  2.   

    不可能吧,一个clientdataset只是一个数据源呀
      

  3.   

    需要显示的地方都拷贝一份 ClientDataSet.Data
      

  4.   

    因为我使用的是DBGridEh,DBGridEh本身可以实现过滤,是否能否实现?或者大家能否提供给我一个比较简单的思路?我实在不想对于每个感知控件,都把其对应的ClientDataSet重写一遍。
      

  5.   

    你的程序是多用户的,所以每个客户端都会有一个不同的dataset实例.
    你可以根据不同登录的用户ID给予不同的条件,写不同的filter
      

  6.   

    可以动态创建DataSet
    然后Assign查询数据的那个DataSet
    然后在第个单独的DBGrid中过滤
    最后释放生成的DataSet