如果要让软件自动排序,不写任何代码(能满足大多数需求)

方法:

1.---------

2.------------

3.--------

加入EhlibADO单元(我是使用ADO连接数据库,如果是BDE,就EhLibDBE单元)

==================================================================

二,由于官方的这种方法有时候不能满足我们的需求,就是如果本身查询的SQL语句含有,ORDER BY 的话

如:select * from top_trade ORDER BY top_xuhao,这个时候再用上面的方法就不好用了,就会报错。--毕竟ehlibado也是满足部分简单的需求

这个时候就要手工写代码了。

完成上面的两步后---即第一步和第二步后,不引用EhlibADO单元,而是手写下面的代码

 

procedure TfrmMain.WeiTopTradeShow_dbgehTitleBtnClick(Sender: TObject;
  ACol: Integer; Column: TColumnEh);
begin
  case column.Title.SortMarker of
    smNoneEh: begin
                column.Title.SortMarker := smDownEh;
                frmClientDm.TopTradeShow_adoq.Sort := Column.FieldName + ' DESC';
              end;
    smDownEh: begin
                frmClientDm.TopTradeShow_adoq.Sort := Column.FieldName + ' DESC';
              end;
    smUpEh: begin
              frmClientDm.TopTradeShow_adoq.Sort := Column.FieldName + ' ASC';
            end;
  end;
end;

 

======================================================

 2012.08.18-----补充自己写的比官方的 运行速度快啊,特别是大量数据的时候

posted on 2012-08-18 00:20  del88  阅读(14)  评论(0编辑  收藏  举报