Delphi ListView排序
2013-09-11 14:08
218 查看
var m_bSort: boolean=false; //控制正反排序的变量
//ListView排序的回调函数,默认的是快速排序法,也可以自己在这里做算法
function CustomSortProc(Item1, Item2: TListItem; ParamSort: integer): integer; stdcall;
var txt1,txt2 : string;
begin
if ParamSort <> 0 then begin
try
txt1 := Item1.SubItems.Strings[ParamSort-1];
txt2 := Item2.SubItems.Strings[ParamSort-1];
if m_bSort then begin
Result := CompareText(txt1,txt2);
end else begin
Result := -CompareText(txt1,txt2);
end;
except
end;
end else begin
if m_bSort then begin
Result := CompareText(Item1.Caption,Item2.Caption);
end else begin
Result := -CompareText(Item1.Caption,Item2.Caption);
end;
end;
end;
procedure TForm1.ListView1ColumnClick(Sender: TObject;
Column: TListColumn);
begin
ListView1.CustomSort(@CustomSortProc, Column.Index);
m_bSort := not m_bSort;
end;
//ListView排序的回调函数,默认的是快速排序法,也可以自己在这里做算法
function CustomSortProc(Item1, Item2: TListItem; ParamSort: integer): integer; stdcall;
var txt1,txt2 : string;
begin
if ParamSort <> 0 then begin
try
txt1 := Item1.SubItems.Strings[ParamSort-1];
txt2 := Item2.SubItems.Strings[ParamSort-1];
if m_bSort then begin
Result := CompareText(txt1,txt2);
end else begin
Result := -CompareText(txt1,txt2);
end;
except
end;
end else begin
if m_bSort then begin
Result := CompareText(Item1.Caption,Item2.Caption);
end else begin
Result := -CompareText(Item1.Caption,Item2.Caption);
end;
end;
end;
procedure TForm1.ListView1ColumnClick(Sender: TObject;
Column: TListColumn);
begin
ListView1.CustomSort(@CustomSortProc, Column.Index);
m_bSort := not m_bSort;
end;
相关文章推荐
- Delphi listview 点击列头排序
- Delphi的ListView自动排序
- Delphi ListView排序
- Delphi的ListView自动排序
- Delphi ListView排序
- Delphi ListView排序
- 为ListView添加自动列宽调整和点击列表头自动排序功能
- ASP.NET 3.5's ListView and DataPager—Part3:用ListView控件排序数据
- Delphi程序流程三(2)(while)PS:最简单的任务管理器( 组件LISTVIEW的用法 增加LISTVIEW的读取 删除)
- 各类排序总结(DELPHI版)
- Delphi ListView基本用法大全
- Android 仿美团网,探索ListView的A-Z字母排序功能实现选择城市
- delphi中对树进行自定义排序
- Delphi中使用ListView和TreeView的Item中的Data可能被忽略的内存泄漏
- wpf中listview添加排序
- Android自定义A_Z字母排序ListView,悬停Listview
- Delphi中实现ListView滚动条的换肤方案
- Delphi ListView快速操作通用实现
- Android中Listview(七)--排序ListView
- 开源drag-sort-listview实现左右滑动删除和排序