关于listview排序的问题
时间:2011-12-16
来源:互联网
C# code
不知道为什么在我这里不起作用!会是哪里问题?
#region 自定义变量 int currentCol = -1; bool sort; #endregion private void listView1_ColumnClick(object sender, ColumnClickEventArgs e) { #region 字符串加上小三角,TrimEnd的用法测试 string Asc = ((char)0x25bc).ToString().PadLeft(4, ' '); string Des = ((char)0x25b2).ToString().PadLeft(4, ' '); #endregion if (sort == false) { sort = true; string oldStr = this.listView1.Columns[e.Column].Text.TrimEnd((char)0x25bc, (char)0x25b2, ' '); this.listView1.Columns[e.Column].Text = oldStr + Des; } else if (sort == true) { sort = false; string oldStr = this.listView1.Columns[e.Column].Text.TrimEnd((char)0x25bc, (char)0x25b2, ' '); this.listView1.Columns[e.Column].Text = oldStr + Asc; } listView1.ListViewItemSorter = new ListViewItemComparer(e.Column, sort); this.listView1.Sort(); int rowCount = this.listView1.Items.Count; if (currentCol != -1) { for (int i = 0; i < rowCount; i++) { this.listView1.Items[i].UseItemStyleForSubItems = false; this.listView1.Items[i].SubItems[currentCol].BackColor = Color.White; if (e.Column != currentCol) this.listView1.Columns[currentCol].Text = this.listView1.Columns[currentCol].Text.TrimEnd((char)0x25bc, (char)0x25b2, ' '); } } for (int i = 0; i < rowCount; i++) { this.listView1.Items[i].UseItemStyleForSubItems = false; this.listView1.Items[i].SubItems[e.Column].BackColor = Color.WhiteSmoke; currentCol = e.Column; } } private void listView2_ColumnClick(object sender, ColumnClickEventArgs e) { #region 字符串加上小三角,TrimEnd的用法测试 string Asc = ((char)0x25bc).ToString().PadLeft(4, ' '); string Des = ((char)0x25b2).ToString().PadLeft(4, ' '); #endregion if (sort == false) { sort = true; string oldStr = this.listView2.Columns[e.Column].Text.TrimEnd((char)0x25bc, (char)0x25b2, ' '); this.listView2.Columns[e.Column].Text = oldStr + Des; } else if (sort == true) { sort = false; string oldStr = this.listView2.Columns[e.Column].Text.TrimEnd((char)0x25bc, (char)0x25b2, ' '); this.listView2.Columns[e.Column].Text = oldStr + Asc; } listView2.ListViewItemSorter = new ListViewItemComparer(e.Column, sort); this.listView2.Sort(); int rowCount = this.listView2.Items.Count; if (currentCol != -1) { for (int i = 0; i < rowCount; i++) { this.listView2.Items[i].UseItemStyleForSubItems = false; this.listView2.Items[i].SubItems[currentCol].BackColor = Color.White; if (e.Column != currentCol) this.listView2.Columns[currentCol].Text = this.listView2.Columns[currentCol].Text.TrimEnd((char)0x25bc, (char)0x25b2, ' '); } } for (int i = 0; i < rowCount; i++) { this.listView2.Items[i].UseItemStyleForSubItems = false; this.listView2.Items[i].SubItems[e.Column].BackColor = Color.WhiteSmoke; 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); } } }
不知道为什么在我这里不起作用!会是哪里问题?
作者: lucksea521 发布时间: 2011-12-16
单步调试
作者: q107770540 发布时间: 2011-12-16
if (sort == false)
{
sort = true;
string oldStr = this.listView1.Columns[e.Column].Text.TrimEnd((char)0x25bc, (char)0x25b2, ' ');
this.listView1.Columns[e.Column].Text = oldStr + Des;
}
else if (sort == true)
{
sort = false;
string oldStr = this.listView1.Columns[e.Column].Text.TrimEnd((char)0x25bc, (char)0x25b2, ' ');
this.listView1.Columns[e.Column].Text = oldStr + Asc;
}
这个判断语句==什么也没有做
{
sort = true;
string oldStr = this.listView1.Columns[e.Column].Text.TrimEnd((char)0x25bc, (char)0x25b2, ' ');
this.listView1.Columns[e.Column].Text = oldStr + Des;
}
else if (sort == true)
{
sort = false;
string oldStr = this.listView1.Columns[e.Column].Text.TrimEnd((char)0x25bc, (char)0x25b2, ' ');
this.listView1.Columns[e.Column].Text = oldStr + Asc;
}
这个判断语句==什么也没有做
作者: DENQH 发布时间: 2011-12-16
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28