我有段代码 ,不知对你有用否: 定义全局变量: iB:integer; 在OnColumnClick中添加如下代码: ColumnToSort := Column.Index; (Sender as TCustomListView).AlphaSort; if iB=0 then iB:=1 else if iB=1 then iB:=0;在OnCompare添加如下代码: var ix: Integer; begin if ColumnToSort = 0 then begin if iB=0 then begin Compare := CompareText(Item1.Caption,Item2.Caption); end else if iB=1 then begin Compare := CompareText(Item2.Caption,Item1.Caption); end; end else begin if iB=0 then begin ix := ColumnToSort -1; Compare := CompareText(Item1.SubItems[ix],Item2.SubItems[ix]); end else if iB=1 then begin ix := ColumnToSort -1; Compare := CompareText(Item2.SubItems[ix],Item1.SubItems[ix]); end; end; end;=======================================================TO:firstshine(原曦) 如果你硬往上加当然很慢,在ONDATE事件上做些处理就很快了
定义全局变量:
iB:integer;
在OnColumnClick中添加如下代码:
ColumnToSort := Column.Index;
(Sender as TCustomListView).AlphaSort;
if iB=0 then iB:=1
else
if iB=1 then iB:=0;在OnCompare添加如下代码:
var
ix: Integer;
begin
if ColumnToSort = 0 then
begin
if iB=0 then
begin
Compare := CompareText(Item1.Caption,Item2.Caption);
end
else
if iB=1 then
begin
Compare := CompareText(Item2.Caption,Item1.Caption);
end;
end
else begin
if iB=0 then
begin
ix := ColumnToSort -1;
Compare := CompareText(Item1.SubItems[ix],Item2.SubItems[ix]);
end
else
if iB=1 then
begin
ix := ColumnToSort -1;
Compare := CompareText(Item2.SubItems[ix],Item1.SubItems[ix]);
end;
end;
end;=======================================================TO:firstshine(原曦)
如果你硬往上加当然很慢,在ONDATE事件上做些处理就很快了