在dbgrid字段排序中如何取字段中特殊字符排序,例如[email protected],按照163.com内容排序,我用的代码是: DataModule1.OrdersADOQuery.Sort := Column.FieldName+' ASC',
不知道这个能不能改或者用这个方法实现? 谢谢!

解决方案 »

  1.   

    可以的,例如:
    procedure TFrmWth.DBGridEh1TitleClick(Column: TColumnEh);
    var
        s: string;begin
        if ADODataSet1.Active = False then Exit;
        case Column.Title.SortMarker of
            smNoneEh: Column.Title.SortMarker := smDownEh;
            smDownEh: Column.Title.SortMarker := smUpEh;
            smUpEh: Column.Title.SortMarker := smDownEh;
        end;
        s := '';
        if Column.Title.SortMarker = smUpEh then
        begin
            s := column.FieldName + ' DESC ';
        end
        else
        begin
            s := column.FieldName + ' ASC ';
        end;
        try
            ADODataSet1.Sort := '';
            ADODataSet1.Sort := s;
        except
            exit;
        end;
    end;
      

  2.   

    我的意思是按照特殊的字符串排序,例如[email protected],按照163.com内容排序,不是整个字段内容!ADODataSet1.Sort :=strpos('+Column.FieldName+',+'@')+' ASC',好像不可以,报错!
    不知道怎么实现?最好直接用ADODataSet1.Sort !
      

  3.   

    clientdataset 排序也可以的怎么实现啊?? 有没有更好的方法啊!!~~~
      

  4.   

    clientdataset 排序就西最好地