Twwdbgrid/Tdbgrideh 字段排序sort

    qrymt.sort:=sortstring; 这个关键执行语句  (用网格控件 关联到查询控件 是不行的 因为没有 sort 属性)

    通用方法:Twwdbgrid 、Tdbgrideh

 

procedure Tfrmtest.DBGridEh1TitleClick(Column: TColumnEh);

var sortstring,fieldname:string;

    Adoquery:Tadoquery;

begin

  adoquery:=qrytem1;                     // 与网格控件(数据感知控件) 绑定在一起 数据源控件

  if (adoquery.Active=false)or(adoquery.IsEmpty) then exit;  //数据源没有打开或为空 不用排序

  fieldname:=column.FieldName;      // 该列 对应的数据库字段 

  sortstring:=adoquery.Sort;            // sort 属性 数据源控件 排序的关键属性

  if copy(sortstring,length(sortstring)-3,4)='DESC' then

    sortstring:=fieldname+' ASC'

  else sortstring:=fieldname+' DESC';

  adoquery.Sort:=sortstring;

end;

procedure Tfrmtest.wwDBGrid1TitleButtonClick(Sender: TObject;

  AFieldName: String);

var sortstring,fieldname:string;

    Adoquery:Tadoquery;

begin

  adoquery:=qrytem1;                     // 与网格控件(数据感知控件) 绑定在一起 数据源控件

  if (adoquery.Active=false)or(adoquery.IsEmpty) then exit;  //数据源没有打开或为空 不用排序

  fieldname:=AFieldName;                // 该列 对应的数据库字段

  sortstring:=adoquery.Sort;            // sort 属性 数据源控件 排序的关键属性

  if copy(sortstring,length(sortstring)-3,4)='DESC' then

    sortstring:=fieldname+' ASC'

  else sortstring:=fieldname+' DESC';

  adoquery.Sort:=sortstring;

end;

 

1. Twwdbgrid  其中Twwdbgrid.titlebuttons:=true;

    procedure TfrmBbrandQ.wwDBGrid1TitleButtonClick(Sender: TObject; AFieldName: String);

    var sortstring:string;

    begin

      sortstring:=qrymt.sort;

      if copy(sortstring,length(sortstring)-3,4)='DESC' then

         sortstring:=AFieldName+' ASC'

      else sortstring:=AFieldName+' DESC';

      qrymt.Sort:=sortstring;

      end;

2. Tdbgrideh ontitleclick();

procedure TFrmNDFXB.DBGridEh1TitleClick(Column: TColumnEh);

var

  sortstring: string; //排序列

begin

  //进行排序

  with Column do

  begin

    if FieldName = '' then Exit;

    if (Title.SortMarker = smNoneEh) or (Title.SortMarker = smDownEh) then

    begin

      sortstring := Column.FieldName + ' ASC';;

      Title.SortMarker := smUpEh;

    end else

    begin

      sortstring := Column.FieldName + ' DESC';

      Title.SortMarker := smDownEh;

    end;

    try

      qrystore.Sort := sortstring; //dataset为实际数据集变量名

    except

      MessageBox(Handle,'排序出错,请核实后重试!', '提示', MB_ICONError);

    end;

  end; 

end;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值