Ehlib的Demo1里,DBGridEh1的Vendor Number列STFilter什么都没指定,但在设计期就有下拉箭头,是如何做到的?

解决方案 »

  1.   

    去看源码吧,如果没有,可以看dev组件的源码,其中 也有类似的功能
      

  2.   

    设置 DBGridEh 列的 STFilter 属性。将 ListSource 设为要下拉显示的数据源,ListField 为下拉列表显示的字段,KeyField 为构建查询表达式使用的字段。设置以上属性后,发现虽然下拉列表显示出来了,但选择下拉列表值后,DBGridEh 却没有自动过滤,在单元最后:"end."之前加入: initialization
    DBGridEhCenter.FilterEditCloseUpApplyFilter := True;
      

  3.   


    其实DEMO也设置了。双击DBGridEh 然后选择某一个字段就能发现。
    但是这种排序还有一些问题,如果包含"<" ">" "(" 等字符就会报错,需要修改一下源代码。
      

  4.   


    重要的一点:在implementation 下面加上:
     uses
       EhLibADO;