一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

DBGrid及ListView點擊標(biāo)題欄自動排序

 貌似小白 2013-05-21

DBGrid及ListView點擊標(biāo)題欄自動排序

一、DBGrid點擊標(biāo)題欄自動排序

1、建立私有變量,控制排序方向與排序字段

private

    FSort, FSortField: String; //控制Grid排序

2、在titleClick中寫排序代碼
procedure TfrmuZhutiZhiBiaoDataInput.DBGridEhInputTitleClick(
Column: TColumnEh);
var  
iFieldCount:Integer;  
begin  
//進行點擊Title排序  
for iFieldCount := 0 to DBGridEhInput.Columns.Count - 1 do
begin
    if (Copy(DBGridEhInput.Columns[iFieldCount].Title.Caption,Length(DBGridEhInput.Columns[iFieldCount].Title.Caption)-1,2)   =   '▼')   or   (Copy(DBGridEhInput.Columns[iFieldCount].Title.Caption,Length(DBGridEhInput.Columns[iFieldCount].Title.Caption)-1,2)   =   '▲')   then
    begin
      DBGridEhInput.Columns[iFieldCount].Title.Caption := Copy(DBGridEhInput.Columns[iFieldCount].Title.Caption,1,Length(DBGridEhInput.Columns[iFieldCount].Title.Caption)-3);
      break;
    end;
end;
if Column.FieldName = FSortField then
begin
    if FSort = 'DESC'   then
      FSort := 'ASC'
    else
      FSort := 'DESC';
end
else   begin
    FSortField := Column.FieldName;
    FSort := 'ASC';
end;
if FSort = 'ASC'   then
    Column.Title.Caption := Column.Title.Caption + ' ▲'
else
    Column.Title.Caption := Column.Title.Caption + ' ▼';
AQDataInput.Sort :=   Column.FieldName + ' ' + FSort;
end;

二、ListView點擊標(biāo)題欄自動排序

1、定義全局變量
var m_bSort: boolean = False;   //控制正反排序的變量

2、在程序代碼最上方寫上排序函數(shù)
//ListView排序的回調(diào)函數(shù),默認的是快速排序法,也可以自己在這里做算法  
function   CustomSortProc(Item1,   Item2:   TListItem; ParamSort:   integer):   integer;   stdcall;
var
txt1, txt2: string;
aInt: Integer;
begin
Result := 0;
if ParamSort <> 0 then
begin
    try
      txt1 := Item1.SubItems.Strings[ParamSort-1];
      txt2 := Item2.SubItems.Strings[ParamSort-1];
      if TryStrToInt(txt1, aInt) and TryStrToInt(txt2, aInt) then
      begin
        if m_bSort then
        begin
         if StrToInt(txt1) > StrToInt(txt2) then
         begin
            Result := 1;
         end else if StrToInt(txt1) = StrToInt(txt2) then
         begin
            Result := 0;
         end else
         begin
           Result := -1;
         end;
        end else
        begin
         if StrToInt(txt1) > StrToInt(txt2) then
         begin
            Result := -1;
         end else if StrToInt(txt1) = StrToInt(txt2) then
         begin
            Result := 0;
         end else
         begin
           Result := 1;
         end;
        end;
      end else
      begin
        if m_bSort then
        begin
          Result := CompareText(txt1, txt2);
        end else begin
          Result := -CompareText(txt1, txt2);
        end;
      end;
    except
    end;
end else
begin
    if TryStrToInt(Item1.Caption, aInt) and TryStrToInt(Item2.Caption, aInt) then
    begin
      if m_bSort then
      begin
       if StrToInt(Item1.Caption) > StrToInt(Item2.Caption) then
       begin
          Result := 1;
       end else if StrToInt(Item1.Caption) = StrToInt(Item2.Caption) then
       begin
          Result := 0;
       end else
       begin
         Result := -1;
       end;
      end else
      begin
       if StrToInt(Item1.Caption) > StrToInt(Item2.Caption) then
       begin
          Result := -1;
       end else if StrToInt(Item1.Caption) = StrToInt(Item2.Caption) then
       begin
          Result := 0;
       end else
       begin
         Result := 1;
       end;
      end;
    end else
    begin
      if m_bSort then
      begin
       Result := CompareText(Item1.Caption,Item2.Caption);
      end else
      begin
        Result := - CompareText(Item1.Caption,Item2.Caption);
      end;
    end;
end;
end;

3、在ColumnClick中增加排序調(diào)用的代碼

procedure TframeDaDuiSort.ListViewDaDuiColumnClick(Sender: TObject;
Column: TListColumn);
begin
ListViewDaDui.CustomSort(@CustomSortProc, Column.Index);
m_bSort := not m_bSort;
end;

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    高清一区二区三区四区五区| 日本一本不卡免费视频| 欧美欧美日韩综合一区| 高清不卡一卡二卡区在线| 国产一区国产二区在线视频| 日本理论片午夜在线观看| 91精品视频全国免费| 亚洲精品成人综合色在线| 很黄很污在线免费观看| 欧美国产在线观看精品| 人妻露脸一区二区三区| 国产欧美日韩精品自拍| 亚洲内射人妻一区二区| 国产欧美性成人精品午夜| 久久大香蕉一区二区三区| 日本淫片一区二区三区| 国产级别精品一区二区视频| 欧美亚洲91在线视频| 欧美日韩亚洲巨色人妻| 精品国产91亚洲一区二区三区| 老司机精品在线你懂的| 亚洲中文字幕在线视频频道| 激情内射日本一区二区三区| 肥白女人日韩中文视频| 91欧美视频在线观看免费| 中文字幕亚洲在线一区| 日韩一区二区三区四区乱码视频| 日本加勒比中文在线观看| 国产91色综合久久高清| 亚洲欧美日韩国产成人| 久久精品久久精品中文字幕| 亚洲一区二区精品免费| 加勒比东京热拍拍一区二区| 日本美国三级黄色aa| 操白丝女孩在线观看免费高清| 欧美极品欧美精品欧美| 人妻中文一区二区三区| 日韩一级一片内射视频4k| 亚洲中文字幕综合网在线| 国产原创中文av在线播放| 亚洲一区二区三区av高清|