默认只能过滤一个值, 比如某一列的值有张三, 李四, 王五, 我想过滤的时候同时选择张三和李四, 这样能不能做到. 

解决方案 »

  1.   

    直接用DataSet.Filter是可以的  DataSet.Filter:=Format('(姓名=%s or 姓名=%s or 姓名=%s)',[QuotedStr('张三'),QuotedStr('李四'),QuotedStr('王五')]);
      DataSet.Filtered:=True;
      

  2.   

    DBGrid的行可以多选的呀,难道cxGrid不可以?
      

  3.   

    数据集的过滤,通常使用SQL语句执行,效果比较好。在DBGrid中过滤 ........
      

  4.   

    可以的,你使用一个三个chechbox,分别是,代表三个选项if  chechbox1.checked then
    begin
      DataSet.Filtered:=False;
      DataSet.Filter:='姓名='''张三''';
      DataSet.Filtered:=True;
    end;
    if  chechbox2.checked then
    begin
      DataSet.Filtered:=False;
      DataSet.Filter:='姓名='''李四''';
      DataSet.Filtered:=True;
    end;
    if  chechbox3.checked then
    begin
      DataSet.Filtered:=False;
      DataSet.Filter:='姓名='''王二''';
      DataSet.Filtered:=True;
    end;代码放在checkbox onchange 事件中
      

  5.   

     DataSet.Filter:='姓名=''王二''';  应该这样。
      

  6.   

    DataSet关联cxGrid
      

  7.   

    cxgrid的view,表头自带筛选的吧。像Excel一样简单的操作。
      

  8.   

    cxgrid有这个功能的呀