C# listview 点击列头排序的实例
发布时间 - 2026-01-10 22:47:32 点击率:次实例如下:
#region 自定义变量
int currentCol = -1;
bool sort;
#endregion//列头点击事件
private void lvw_ColumnClick(object sender, ColumnClickEventArgs e)
{
string Asc = ((char)0x25bc).ToString().PadLeft(4, ' ');
string Des = ((char)0x25b2).ToString().PadLeft(4, ' ');
if (sort == false)
{
sort = true;
string oldStr = this.lvw.Columns[e.Column].Text.TrimEnd((char)0x25bc, (char)0x25b2, ' ');
this.lvw.Columns[e.Column].Text = oldStr + Des;
}
else if (sort == true)
{
sort = false;
string oldStr = this.lvw.Columns[e.Column].Text.TrimEnd((char)0x25bc, (char)0x25b2, ' ');
this.lvw.Columns[e.Column].Text = oldStr + Asc;
}
if(lvw.Columns[e.Column].Tag.ToString()=="n")//在设计器中把列头的tag设为"n",则表示该列按数字比较器处理,否则为文本
lvw.ListViewItemSorter = new ListViewItemComparerNum(e.Column, sort);
else
lvw.ListViewItemSorter = new ListViewItemComparer(e.Column, sort);
this.lvw.Sort();
int rowCount = this.lvw.Items.Count;
if (currentCol != -1)
{
if (e.Column != currentCol)
this.lvw.Columns[currentCol].Text = this.lvw.Columns[currentCol].Text.TrimEnd((char)0x25bc, (char)0x25b2, ' ');
}
currentCol = e.Column;
}//文本比较器public class ListViewItemComparer : IComparer
{
public bool sort_b;
public SortOrder order = SortOrder.Ascending;
private int col;
public ListViewItemComparer()
{
col = 0;
}
public ListViewItemComparer(int column, bool sort)
{
col = column;
sort_b = sort;
}
public int Compare(object x, object y)
{
if (sort_b)
{
return String.Compare(((ListViewItem)x).SubItems[col].Text, ((ListViewItem)y).SubItems[col].Text);
}
else
{
return String.Compare(((ListViewItem)y).SubItems[col].Text, ((ListViewItem)x).SubItems[col].Text);
}
}
} //数字比较器
public class ListViewItemComparerNum : IComparer
{
public bool sort_b;
public SortOrder order = SortOrder.Ascending;
private int col;
public ListViewItemComparerNum()
{
col = 0;
}
public ListViewItemComparerNum(int column, bool sort)
{
col = column;
sort_b = sort;
}
public int Compare(object x, object y)
{
decimal d1=Convert.ToDecimal(((ListViewItem)x).SubItems[col].Text);
decimal d2=Convert.ToDecimal(((ListViewItem)y).SubItems[col].Text);
if (sort_b)
{
return decimal.Compare(d1,d2);
}
else
{
return decimal.Compare(d2,d1);
}
}
}
以上这篇C# listview 点击列头排序的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
# c
# listview点击排序
# C#中WPF ListView绑定数据的实例详解
# C# ListView 点击表头对数据进行排序功能的实现代码
# C#实现在listview中插入图片实例代码
# C#中ListView控件实现窗体代码
# C#下listview如何插入图片
# C#实现listview Group收缩扩展的方法
# C#实现带进度条的ListView
# C#使用listView增删操作实例
# 浅谈C#中ListView类的用法
# 给大家
# 设为
# 希望能
# 自定义
# 这篇
# 则为
# 小编
# 大家多多
# 器中
# string
# Asc
# true
# ColumnClickEventArgs
# lvw_ColumnClick
# object
# sender
# Des
# ToString
# PadLeft
# x25bc
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
,在苏州找工作,上哪个网站比较好?
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
如何在建站宝盒中设置产品搜索功能?
Angular 表单中正确绑定输入值以确保提交与验证正常工作
Android仿QQ列表左滑删除操作
百度浏览器如何管理插件 百度浏览器插件管理方法
JavaScript如何实现错误处理_try...catch如何捕获异常?
如何用AI帮你把自己的生活经历写成一个有趣的故事?
laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法
什么是javascript作用域_全局和局部作用域有什么区别?
如何快速启动建站代理加盟业务?
Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】
Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录
如何快速搭建高效可靠的建站解决方案?
网站制作软件免费下载安装,有哪些免费下载的软件网站?
桂林网站制作公司有哪些,桂林马拉松怎么报名?
打开php文件提示内存不足_怎么调整php内存限制【解决方案】
laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】
laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法
宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法
Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】
如何在七牛云存储上搭建网站并设置自定义域名?
INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】
简历在线制作网站免费版,如何创建个人简历?
JavaScript实现Fly Bird小游戏
音乐网站服务器如何优化API响应速度?
如何获取PHP WAP自助建站系统源码?
Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?
高性能网站服务器配置指南:安全稳定与高效建站核心方案
教你用AI将一段旋律扩展成一首完整的曲子
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
如何选择可靠的免备案建站服务器?
宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法
Laravel怎么调用外部API_Laravel Http Client客户端使用
Android自定义listview布局实现上拉加载下拉刷新功能
详解vue.js组件化开发实践
如何自定义建站之星模板颜色并下载新样式?
如何在香港免费服务器上快速搭建网站?
Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤
HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】
Python自动化办公教程_ExcelWordPDF批量处理案例
作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】
使用C语言编写圣诞表白程序
大型企业网站制作流程,做网站需要注册公司吗?
Laravel Admin后台管理框架推荐_Laravel快速开发后台工具
Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】
Laravel如何生成和使用数据填充?(Seeder和Factory示例)
教学论文网站制作软件有哪些,写论文用什么软件
?

