上一篇:Delphi二值图像投影算法
下一篇:Delphi处理TWebBrowser的Close事件

TListView按指定列排序

发布于: 2013/1/13 8:15:09   |  发布在: Delphi文章   |  点击:

以下代码实现的功能是:点击TListView的某一列列头,就按该列对数据进行排序。

1. 添加TListView控件的OnColumnClick事件响应代码:

procedure TForm1.ListView1ColumnClick(Sender: TObject;
  Column: TListColumn);
begin
  (Sender as TListView).CustomSort(nil, Column.Index);
end;

2. 添加TListView控件的OnCompare事件响应代码:

procedure TForm1.ListView1Compare(Sender: TObject; Item1, Item2: TListItem;
  Data: Integer; var Compare: Integer);
begin
  if Data = 0 then //按标题列排序
    Compare := CompareStr(Item1.Caption, Item2.Caption)
  else //按其他列排序
    Compare := CompareStr(Item1.SubItems.Strings[Data-1], Item2.SubItems.Strings[Data-1]);
end;

排序