首页 新闻 搜索 专区 学院

WPF DataGrid 点击列头进行排序,设置SortMemberPath了,但是排序不正确

0
悬赏园豆:100 [已关闭问题] 关闭于 2016-05-06 14:12

大家好,我遇到了这样的问题,请有知道的大神帮忙。
用WPF 开始软件,用的是 <toolkit:DataGrid 的列表控件,我已经设置了SortMemberPath,但是点击列头之后,可以排序,但是排序是错误的。
 如果感兴趣的,可以打开下面的网盘进行下载工程,很小~


默认打开的列表是:


我点击列头 “最新价”进行排序:

我们明显可以看到,红框那个值排序是不正确的,但是其它值又是正确。

在点“涨跌值”进行排序:

也是混乱的排序。。

另外,为什么我在后台实现了Sorting事件(这里只是把集合里的值进行反过来显示),为什么我不能进行后台绑定数据?

 private void MainGrid_Sorting(object sender, Microsoft.Windows.Controls.DataGridSortingEventArgs e)

        {
            List<ProductQuotation> tempListPros = new List<ProductQuotation>();
            for (int i = listPros.Count - 1; i >= 0; i--)
            {
                tempListPros.Add(listPros[i]);
            }
            listPros = tempListPros;
this.MainGrid.DataContext = listPros;
        }
 
附件解决方案下载:http://pan.baidu.com/s/1mijGCyO
附件解决方案下载:http://pan.baidu.com/s/1mijGCyO
附件解决方案下载:http://pan.baidu.com/s/1mijGCyO
附件解决方案下载:http://pan.baidu.com/s/1mijGCyO

谢谢
随风浪迹天涯的主页 随风浪迹天涯 | 小虾三级 | 园豆:932
提问于:2016-04-03 01:53
< >
分享
所有回答(1)
0

其实很简单啦~~在Sorting里加一个 e.Handler=true. 然后 自己实现排序就ok啦!

随风浪迹天涯 | 园豆:932 (小虾三级) | 2016-05-06 14:11

这个不错,刚好解决了我的问题。nice,这个思路不错。。。

支持(0) 反对(0) 钱恩基 | 园豆:198 (初学一级) | 2017-11-11 10:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册