程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 當單擊DBGrid中的標題欄時,進行排序

當單擊DBGrid中的標題欄時,進行排序

編輯:Delphi
方法:

  關鍵是用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;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved