如何对tlistview存在的数据进行排序subitem[x]?
我最近得到了帮助,根据列数据类型对TListView的列进行排序.
这是代码:
procedure TfrmFind.lvwTagsColumnClick(Sender: TObject; Column: TListColumn);
begin
ColumnToSort := Column.Index;
(Sender as TCustomListView).AlphaSort;
end;
procedure TfrmFind.lvwTagsCompare(Sender: TObject; Item1, Item2: TListItem;
Data: Integer; var Compare: Integer);
var
ix: Integer;
begin
if ColumnToSort = 0 then
Compare := CompareText(Item1.Caption,Item2.Caption)
else
if ColumnToSort = 1 then
Compare := CompareTextAsInteger(Item1.subitems[0],Item2.subitems[0])
else
if ColumnToSort = 2 then
Compare := CompareTextAsDateTime(Item1.subitems[1],Item2.subitems[1])
else
begin
ix := ColumnToSort - 1;
Compare := CompareText(Item1.SubItems[ix],Item2.SubItems[ix]);
end;
end;
Run Code Online (Sandbox Code Playgroud)
如果有可能,我想添加升序和降序排序功能吗?
用户单击一次以升序排序,然后再次单击降序排序
我可以从我目前的代码中执行此操作吗?
如何在左列添加一个字形以显示排序类型(升序与降序)?
******************************************************************************
Run Code Online (Sandbox Code Playgroud)
基于专家的修改答案:2013年3月25日
procedure TfrmFind.lvwTagsColumnClick(Sender: …Run Code Online (Sandbox Code Playgroud)