急!急!listview的排序问题(50分)

  • 主题发起人 主题发起人 漠风
  • 开始时间 开始时间

漠风

Unregistered / Unconfirmed
GUEST, unregistred user!
我在做一个FTP程序,在点击listview的column时排序,我想无论按什么排序,首先将文件夹
排在前面,然后再按顺序排文件。请各位大哥帮帮我吧!
 
排序函数是你自己编的,你想怎么排就怎么排呗
你可以这样 文件夹<文件
然后文件夹按字母排序,文件也按字母排寻
 
全局变量:
cancompare : Boolean;
sortstyle : Boolean;
ColumnToSort : Integer;

procedure Tmainform.ListView9Compare(Sender: TObject; Item1,
Item2: TListItem; Data: Integer; var Compare: Integer);
var
ix : Integer;
begin
if cancompare then exit;
if not SortStyle Then
if ColumnToSort = 0 then
Compare := CompareText(Item1.Caption,Item2.Caption)
else begin
ix := ColumnToSort - 1;
Compare := CompareText(Item1.SubItems[ix],Item2.SubItems[ix]);
end
Else
if ColumnToSort = 0 then
Compare := CompareText(Item2.Caption,Item1.Caption)
else begin
ix := ColumnToSort - 1;
Compare := CompareText(Item2.SubItems[ix],Item1.SubItems[ix]);
end;
end;

procedure Tmainform.ListView9ColumnClick(Sender: TObject;
Column: TListColumn);
begin
ColumnToSort := Column.Index;
SortStyle := Not SortStyle;
(Sender as TCustomListView).AlphaSort;
end;
我是这么排序的。你点击那一列都可以排序了。我用过多次了。
 
接受答案了.
 

Similar threads

回复
0
查看
1K
不得闲
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部