我正在使用Delphi 2010和TListView列出姓名等数据。前两列是姓和名。
标题=姓 SubItems [0] = 名
如何按这两列对ListView进行排序?这些将是Listview按顺序排序的唯一列,我希望始终保持此排序方式(添加、编辑、删除项目时)。
我该如何实现这个功能?
标题=姓 SubItems [0] = 名
如何按这两列对ListView进行排序?这些将是Listview按顺序排序的唯一列,我希望始终保持此排序方式(添加、编辑、删除项目时)。
我该如何实现这个功能?
SortType
设置为 'stBoth',并实现一个 OnCompare
事件处理程序。例如:procedure TForm1.ListView1Compare(Sender: TObject; Item1, Item2: TListItem;
Data: Integer; var Compare: Integer);
var
S1, S2: string;
begin
S1 := Item1.Caption;
if Item1.SubItems.Count > 0 then
S1 := S1 + Item1.SubItems[0];
S2 := Item2.Caption;
if Item2.SubItems.Count > 0 then
S2 := S2 + Item2.SubItems[0];
Compare := CompareText(S1, S2);
end;