现在编制一程序,想实现功能如下:在DBGRIDEH中筛选数据,能够添加实现组合条件查询,例如:筛选满足(条件1 and 条件2) or (条件3)的记录,要求能一次性筛选出。
有哪位大侠,有好办法实现。
急求!谢谢!

解决方案 »

  1.   

    LZ,建议用cxGrid!组合查询基本上不用写代码!超方便!
      

  2.   

    CXGRID是什么控件,没用过,能否提供
      

  3.   

    DBGRIDEH的过滤设置,网上搜一下就有
    不过在dataset里过滤更方便
      

  4.   

    DBGRIDEH的过滤设置,网上搜一下就有
    不过在dataset里过滤更方便
      

  5.   

    DataSet为DBGridEh关联的数据集
    DataSet.Filtered := False;
    try
      DataSet.Filter := '(name = ''XiaoMing'' and sex = ''male'') or age = 18';
    finally
      DataSet.filtered := True;
    end;
      

  6.   

    把条件组合成sql语句就行了,没有什么难的select * from Table where (条件1 and 条件2) or 条件3
      

  7.   

    建议自己整个DLL或者unit,里面放几个COMBOBOX,对应字段名(动态读取对应dbgrideh的title.caption),条件(等于,大于,模糊查找等等),值(由客户输入,或者在客户选择好字段名时从数据库里select distinct 字段名 from表),逻辑(且,或)
    然后放几个按钮用于增减查询组合,或者嫌麻烦的话,索性多放几行COMBOBOX,然后弄个开始查找按钮,对组合好的条件进行判断后生成sqltxt执行这样在用到查询时可以直接调用另外dbgrideh也有查询框的,你在程序运行时按ctrl+f就会出来——除非你指定了CTRL+F执行其他代码