首页 > 学院 > 开发设计 > 正文

当单击DBGrid中的标题栏时,进行排序

2019-11-18 18:37:03
字体:
来源:转载
供稿:网友
 

方法:

关键是用DBGrid的事件 OnTitleClick

首先判断单击是哪一列,

     i:=Column.Index;

然后要确定是哪个字段

    Field:=DBGrid1.Columns[i].FieldName+' ASC';

最后进行排序:

    qryWork.Sort:=Field;

 

上面仅仅是进行升序排列,若要添加降序排列,则要用' DESC'

若要单击后,升序,再单击,降序.....

则要用到一个奇偶判断

我的一个例子

(其中的bSort:Boolean,在FormShow的时候初始化)

PRocedure TfmPlayVideo.DBGrid1TitleClick(Column: TColumn);
var
    i:integer;
    fieldname:string;
begin//排序
    i:=Column.Index;
    if bSort then
    begin
        fieldname:=DBGrid1.Columns[i].FieldName+' ASC';
        bSort:=False;
    end
    else
    begin
        fieldname:=DBGrid1.Columns[i].FieldName+' DESC';
        bSort:=True;
    end;
    qryShow.Sort:=fieldname;
end;


上一篇:编译器(解释器)编写指南-编写编译器(解释器)的工具-LEX

下一篇:使用ADO,多线程访问ACCESS数据库的开发。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
学习交流
热门图片

新闻热点

疑难解答

图片精选

网友关注