怎样实现TListView排序?

Caobiao 2005-03-14 05:07:11
我想用TListView代替DBGrid做数据界面,请问怎样实现点击其Title对进行TListView排序?
...全文
245 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xywu 2005-03-15
  • 打赏
  • 举报
回复
procedure Tfrmversion.listversionColumnClick(Sender: TObject;
Column: TListColumn);
begin
nSortCol := Column.Index;
Listversion.AlphaSort;
end;
procedure Tfrmversion.listversionCompare(Sender: TObject; Item1,
Item2: TListItem; Data: Integer; var Compare: Integer);
begin
If nSortCol = 0 then
Compare := CompareStr (Item1.Caption, Item2.Caption)
Else
Compare := CompareStr (Item1.SubItems [nSortCol - 1],
Item2.SubItems [nSortCol - 1]);
end;
gzmhero 2005-03-14
  • 打赏
  • 举报
回复
设置排序调用ListView.AlphaSort;函数
在OnCompare事件里写代码,判断Item1,Item2的比较结果,比较Item1和Item2,设置compare的值
fangming120 2005-03-14
  • 打赏
  • 举报
回复
自己看看,应该少作修改就能用了。它自己的是对字符串的排序,要是数字,就要这样
function TFrmconverter.CompareValue(s1,s2:real):integer;//升序
begin
if s1 > s2 then result:=1
else result:=0;
end;
procedure TFrmconverter.viewFileColumnClick(Sender: TObject;
Column: TListColumn);
begin
nSortCol := Column.Index;
Viewfile.AlphaSort;
end;

procedure TFrmconverter.viewFileCompare(Sender: TObject; Item1,
Item2: TListItem; Data: Integer; var Compare: Integer);
var
RR1,RR2:Real;
begin
if nSortCol = 0 then
Compare := CompareStr (Item1.Caption, Item2.Caption);//自带的对字符串的排序
//else
//Compare := CompareStr (Item1.SubItems [nSortCol - 1],
// Item2.SubItems [nSortCol - 1]);
if (nSortCol=3) or (nSortCol=5 )or (nSortCol=6) or (nSortCol=11) then //!@选择对应的数字列项
begin
if trim(item1.SubItems[nsortcol-1])='' then RR1:=0
else RR1:=strtofloat(trim(copy(item1.SubItems[nsortcol-1],1,length(item1.SubItems[nsortcol-1])-2)));//去掉多余的后两位字符
if trim(item2.SubItems[nsortcol-1])='' then RR2:=0
else RR2:=strtofloat(trim(copy(item2.SubItems[nsortcol-1],1,length(item2.SubItems[nsortcol-1])-2)));
//升序
compare:=CompareValue(RR1,RR2)
end;

end;
fangming120 2005-03-14
  • 打赏
  • 举报
回复
刚做的,不着急的话晚点给你
ly_liuyang 2005-03-14
  • 打赏
  • 举报
回复
这样的例子网上很多吧?
Google找找了

http://lysoft.7u7.net

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧