在cxGrid中,
我想在代码中控制一些行不显示,
请问有没有什么好的办法。好像cxGrid自带的filter的感觉,设置条件后,grid里的不满足条件行将会被过滤掉。我试过下面的代码
tvGridView->ViewData->Records[iRow]->Visible = false;
不过这个visible属性是只读的无法被访问。请熟悉的朋友多帮忙指教指教,万分感谢

解决方案 »

  1.   

    感谢上面几位朋友的回答,
    不过这些方案可能都行不通,
    其实我要做的就是一个自定义的filter对话框,
    来代替cxGrid自带的filter功能,
    通过调用cxGrid的filter的字符串比较函数后,
    筛选出想要的数据,
    基本都已经实现了,就差将不满足filter条件的数据屏蔽掉了。
    希望知道的朋友多多帮忙,先谢谢了。
      

  2.   


    还是从数据入手吧,其实cxgrid的过滤并不是改变了数据集,而是本身的过滤,你也可以参考他的方法,看看他代码是怎样实现的
      

  3.   


    先谢谢了。但我只是觉得单纯的设某一行的显示属性是比较简单的办法。
    遍历每一行然后将数据储存,再将满足的数据筛选出来,重新在grid上表示,虽然能够实现,
    不过我感觉这样就可能比较繁琐,不是很希望。
    而且我曾经好像是设过某一行的显示属性为不显示,可惜当初忘了备份代码,现在想不起来。
    查cxGrid自身的代码,由于不是很熟悉,目前还没有找到关键的地方。
      

  4.   

    感觉你把CXGRID显示的原理搞错了,如果你在close,sql,open完了之后,再要去改变某个记录的可见性是不可能的,除非你再CLOSE,SQL,OPEN;