C#中listview点击标头排序问题。
我要做一个点击listview中的标头排序的功能,就是点一下标头之后是升序排列再点就是降序排列。以下是我在网上找的代码。源代码地址:http://blog.csdn.ne...
我要做一个点击listview中的标头排序的功能,就是点一下标头之后是升序排列再点就是降序排列。
以下是我在网上找的代码。
源代码地址:http://blog.csdn.net/dj1232090/article/details/1683261
但是这个排序有个问题,就是他只对列中值的第一个数字进行排序,比如说我有10000和9999,应该是10000比9999大的,但是他只比较第一个数字,9999就在前面,请问各位大侠,这样要怎么修改? 展开
以下是我在网上找的代码。
源代码地址:http://blog.csdn.net/dj1232090/article/details/1683261
但是这个排序有个问题,就是他只对列中值的第一个数字进行排序,比如说我有10000和9999,应该是10000比9999大的,但是他只比较第一个数字,9999就在前面,请问各位大侠,这样要怎么修改? 展开
3个回答
展开全部
我看了下,你搭消从网上大枝陆找的这个例滚顷子,你代码没有复制全,不是因为人家功能的原因,我试了,可以的,里面有循环比较的
http://wenku.baidu.com/view/97b5af4df7ec4afe04a1df77.html
http://wenku.baidu.com/view/97b5af4df7ec4afe04a1df77.html
更多追问追答
追问
你好,这一个可以实现我的功能,但是还有一个问题:之前的是我点一下标头之后是升序,再点一下标头之后就是降序了。这一个个别列不会降序排列。
追答
噢 这个你看它代码,里面有这么一行
listViewData.Sorting = SortOrder.Ascending;
他的意思是说,我点击一次列,如果是和我指定的列相同的话,就执行升序排列
那么我们可以稍微修改下代码
先定义一个全局变量bool isclick=false
然后在代码点击事件代码里写
if(isclick)
{
listViewData.Sorting = SortOrder.Ascending;
}
else
{
stViewData.Sorting = SortOrder.Descending;
}
isclick=!isclick;
这样就是在原来的基础上加个变量控制,再加个判断
展开全部
你的类型是string类型的,要转换为int类型
更多追问追答
追问
能说的具体点吗?
追答
你排序的时候没有去转换对比数据的类型,这样默认就是string类型的
你要把你对比的值,转换为数字类型
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不要复制乎斗网上的代码,他只能参考。自己要写适合自己的派序。因为你的数据格式不固定所以你要先分类,自己定义羡慎哪个兄顷敬格式排前面,按什么方式排!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询