Delphi listview 点击列头排序
listview 的数字排序。
首先添加全局变量
m_bSort: Boolean = false; CustomSortProc(Item1, Item2: TListItem; ParamSort: Integer): Integer;;
之后在需要排序的listview 控件的OnColumClick 事件中编写代码
TMainForm.lv_UpLoadListColumnClick(Sender: TObject;
Column: TListColumn);
(Column. = 1) (Column. = 3)
lv_UpLoadList.CustomSort(@CustomSortProc, Column.);
m_bSort := m_bSort; ; ;
之后编写全局函数
CustomSortProc(Item1, Item2: TListItem;
ParamSort: Integer): Integer; ;
txt1, txt2: Integer;
ParamSort <> 0
try
txt1 := StrToInt(Item1.SubItems.Strings[ParamSort - 1]);
txt2 := StrToInt(Item2.SubItems.Strings[ParamSort - 1]); m_bSort
Result := txt1 - txt2;
Result := -(txt1 - txt2);
;
except ;
m_bSort
Result := CompareText(Item1.Caption, Item2.Caption);
Result := -CompareText(Item1.Caption, Item2.Caption); ;
; ;
以上是数字的排序,如果需要汉字什么的排序,这将上面的strtoint去掉,并将上面的注释行替换上面的行就行了