实例如下:
#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
相关文章:
香港服务器WordPress建站指南:SEO优化与高效部署策略
,网站推广常用方法?
高防服务器租用首荐平台,企业级优惠套餐快速部署
如何在宝塔面板中修改默认建站目录?
网站制作多少钱一个,建一个论坛网站大约需要多少钱?
长沙企业网站制作哪家好,长沙水业集团官方网站?
如何选择服务器才能高效搭建专属网站?
北京的网站制作公司有哪些,哪个视频网站最好?
电商网站制作价格怎么算,网上拍卖流程以及规则?
营销式网站制作方案,销售哪个网站招聘效果最好?
建站主机如何选?高性价比方案全解析
已有域名如何免费搭建网站?
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?
标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?
如何在腾讯云服务器上快速搭建个人网站?
如何零成本快速生成个人自助网站?
如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法
广东企业建站网站优化与SEO营销核心策略指南
北京网站制作的公司有哪些,北京白云观官方网站?
Bpmn 2.0的XML文件怎么画流程图
建站主机如何安装配置?新手必看操作指南
如何在万网自助建站平台快速创建网站?
小建面朝正北,A点实际方位是否存在偏差?
网站制作公司广州有几家,广州尚艺美发学校网站是多少?
湖南网站制作公司,湖南上善若水科技有限公司做什么的?
怎么将XML数据可视化 D3.js加载XML
免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?
,怎么在广州志愿者网站注册?
如何用好域名打造高点击率的自主建站?
建站之星手机一键生成:多端自适应+小程序开发快速建站指南
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?
建站之星如何助力企业快速打造五合一网站?
公司网站制作需要多少钱,找人做公司网站需要多少钱?
网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
实现虚拟支付需哪些建站技术支撑?
非常酷的网站设计制作软件,酷培ai教育官方网站?
如何在企业微信快速生成手机电脑官网?
建站主机与服务器功能差异如何区分?
网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?
建站之星价格显示格式升级,你的预算足够吗?
建站主机功能解析:服务器选择与快速搭建指南
建站之星如何一键生成手机站?
完全自定义免费建站平台:主题模板在线生成一站式服务
云南网站制作公司有哪些,云南最好的招聘网站是哪个?
移民网站制作流程,怎么看加拿大移民官网?
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
如何快速搭建FTP站点实现文件共享?
*请认真填写需求信息,我们会在24小时内与您取得联系。