只可以对第一项进行排序,如果要使用后面的项目进行排序只能在ListViewColumnClick,ListViewCompare 事件中添加代码!
解决方案 »
- delphi 控制台 程序
- 一个排列函数,看不懂,我想改一下,请问怎么改? (
- 如何获得等宽字体,急急急
- 提示Ordinal type required错误是怎么产生的!
- 请问哪能下载到delphi7,本人初次接触delphi,谢谢帮助
- 搞不定,搞不定,ADOX动态创建数据库问题,高手请进
- 如何禁止在OpenDialog中显示文件?
- 在DELPHI+EXCEL中,怎样设置某一列的度?
- 几乎看遍了CSDN中关于treeview帖子,还没弄懂!
- 请问哪里有关于EPR方面的书籍下载?
- 在delphi6.0中如何将一动态数组赋给oleVariant,谢谢
- 为什么我的控件总是存储在C:\Delphi6\Projects\Bpl目录下文件名Package1.bpl
ColumnToSort := Column.Index;
(Sender as TCustomListView).AlphaSort;
end;
The OnCompare event handler causes the list view to sort on the selected column:procedure TForm1.ListView1Compare(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 begin
ix := ColumnToSort - 1;
Compare := CompareText(Item1.SubItems[ix],Item2.SubItems[ix]);
end;end;
implementation//之前定义上面这句procedure TForm1.ListView1ColumnClick(Sender: TObject;
Column: TListColumn);
begin
ListData.CustomSort(@CustomSortProc, Column.Index);
end;function CustomSortProc(Item1, Item2: TListItem; ParamSort: integer): integer; stdcall;
begin
if ParamSort>0 then
Result := CompareText(Item1.SubItems.Strings[ParamSort-1],Item2.SubItems.Strings[ParamSort-1])
else
Result := CompareText(Item1.Caption,Item2.Caption);
end;