对ListView进行排序

原创 2007年09月18日 12:48:00

//对ListView进行排序, piCol表示列索引, pbAutoOrder表示是否自动排序

procedure SortListColumn(piCol: Integer; pbAutoOrder: Boolean);
  function CustomSortProc(Item1, Item2: TListItem; ParamSort: Integer): Integer; stdcall;
  begin
    case ParamSort of
      0:
        begin
          if AtoZOrder then
            Result := lstrcmp(PChar(TListItem(Item1).Caption), PChar(TListItem(Item2).Caption))
          else
            Result := -lstrcmp(PChar(TListItem(Item1).Caption), PChar(TListItem(Item2).Caption));
        end
      else
        begin
          if AtoZOrder then
            Result := lstrcmp(PChar(TListItem(Item1).SubItems[ParamSort-1]), PChar(TListItem(Item2).SubItems[ParamSort-1]))
          else
            Result := -lstrcmp(PChar(TListItem(Item1).SubItems[ParamSort-1]), PChar(TListItem(Item2).SubItems[ParamSort-1]));
        end;
    end;
  end;
begin
  if piCol in [0..lvDetail.Columns.Count - 1] then
  begin
    if (FCurrentCol = piCol) and (pbAutoOrder) then
      AtoZOrder := not AtoZOrder
    else
      FCurrentCol := piCol;

    lvDetail.CustomSort(@CustomSortProc, FCurrentCol);
    ResetDetailLVHeadPicture;
  end;
end; 

相关文章推荐

在ListView中对数据进行排序

  • 2012年04月10日 14:54
  • 252KB
  • 下载

C# ListView点击列头进行排序

/// /// This class is an implementation of the 'IComparer' interface. /// public cl...

对listview的列进行排序

1.创建一个新的C#项目,窗体Form1会被默认创建。 2.向窗体添加一个ListView控件, 3.在Form1.cs中添加下面的代码: private ListViewColumnSor...
  • bin381
  • bin381
  • 2012年01月19日 14:09
  • 406

实现对ListView中的条目进行排序

1.对ListView中的条目进行排序我的思路就是在我们队ListView进行设置Adapter的时候就先对List中的数据进行排序,对List进行排序就可以通过 Collections.sort()...

WPF中在listview进行数据绑定,根据绑定数据调整一列的显示

最近在做WPF项目,对wpf界面的listview进行数据绑定,并根据绑定行的数据属于的类型在listview的一列中用不同的图片进行区分。 好的,现在说一下具体使用步骤: 第一步,先定义...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:对ListView进行排序
举报原因:
原因补充:

(最多只允许输入30个字)