BCB6 下的ListView 控件的标头排序有关问题
BCB6 下的ListView 控件的标头排序问题
1 BCB6 下的ListView 控件的标头排序问题
比如一个类似这样的ListView项目
文件名称 文件大小 文件修改日期 ....
1
2
3 ...
想要实现的效果:
点击文件名称时候,ListView 按照文件名排序 从0-9,然后从A-Z结束.
点击文件大小时候,ListView 按照文件大小排序,从小到大
点文件修改日期时候,ListView 按照文件日期大小进行排序...
最好能给出代码,谢谢.
------解决方案--------------------
以前的帖子,楼主试试
====================
也谈ListView的排序
--------------------------------------------
小弟看到jishiping兄弟发表了一篇关于ListView的简单排序方法的文章后,偶然查看BCB帮助,发现了另一中排序方法:
代码:
int ColumnToSort = 0;
void __fastcall TForm1::ListView1ColumnClick(TObject *Sender, TListColumn *Column)
{
ColumnToSort = Column-> Index;
((TCustomListView *)Sender)-> AlphaSort();
}
void __fastcall TForm1.ListView1Compare(TObject *Sender, TListItem *Item1, TListItem *Item2, int Data,
int &Compare)
{
if (ColumnToSort == 0)
Compare = CompareText(Item1-> Caption,Item2-> Caption);
else
{
int ix = ColumnToSort ?1;
Compare = CompareText(Item1-> SubItems[ix], Item2-> SubItems[ix]);
}
}
--------------------------------------------
两种方法其实是一样!
1 BCB6 下的ListView 控件的标头排序问题
比如一个类似这样的ListView项目
文件名称 文件大小 文件修改日期 ....
1
2
3 ...
想要实现的效果:
点击文件名称时候,ListView 按照文件名排序 从0-9,然后从A-Z结束.
点击文件大小时候,ListView 按照文件大小排序,从小到大
点文件修改日期时候,ListView 按照文件日期大小进行排序...
最好能给出代码,谢谢.
------解决方案--------------------
以前的帖子,楼主试试
====================
也谈ListView的排序
--------------------------------------------
小弟看到jishiping兄弟发表了一篇关于ListView的简单排序方法的文章后,偶然查看BCB帮助,发现了另一中排序方法:
代码:
int ColumnToSort = 0;
void __fastcall TForm1::ListView1ColumnClick(TObject *Sender, TListColumn *Column)
{
ColumnToSort = Column-> Index;
((TCustomListView *)Sender)-> AlphaSort();
}
void __fastcall TForm1.ListView1Compare(TObject *Sender, TListItem *Item1, TListItem *Item2, int Data,
int &Compare)
{
if (ColumnToSort == 0)
Compare = CompareText(Item1-> Caption,Item2-> Caption);
else
{
int ix = ColumnToSort ?1;
Compare = CompareText(Item1-> SubItems[ix], Item2-> SubItems[ix]);
}
}
--------------------------------------------
两种方法其实是一样!