WPF DataGrid排序后,绑定数据的更新问题。

用的MVVM框架XML里面DataGrid的部分定义如下:DataGrid绑定数据源GoodsSummaryList<DataGridFontSize="12"Name=... 用的MVVM框架
XML里面DataGrid的部分定义如下:DataGrid绑定数据源GoodsSummaryList
<DataGrid FontSize="12" Name="goodsList" ItemsSource="{Binding GoodsSummaryList}" ......>
<DataGrid.Columns>
<DataGridTextColumn Header="商品类别" Width="auto" Binding="{Binding class_big}" />
<DataGridTextColumn Header="商品编号" Width="auto" Binding="{Binding goods_sn}"
.............
...........
/>
</DataGrid.Columns>
</DataGrid>

获取数据的方法我直接写到了xml.cs里,获取到数据后,按下paixu按钮,对数据进行排序
public partial class Summary : Window
{
SummaryViewModel sum = null;
public Summary()
{
InitializeComponent();
sum = new SummaryViewModel();
this.DataContext = sum;
}
......//此处省略

private void paixu_Click(object sender, RoutedEventArgs e)
{
ICollectionView view = CollectionViewSource.GetDefaultView(sum.GoodsSummaryList);
view.SortDescriptions.Add(new SortDescription("class_big", ListSortDirection.Ascending));
view.SortDescriptions.Add(new SortDescription("goods_name", ListSortDirection.Ascending));
}
......//此处省略
}

按下按钮之后,界面上确实是按照我的要求,先品类再名称排序了,但是sum.GoodsSummaryList中的数据却还是原来的排列顺序。我要怎么更新它的排列顺序?
附上ViewModel的GoodsSummaryList的定义:
private ObservableCollection<goods> goodsSummaryList;
public ObservableCollection<goods> GoodsSummaryList
{
get { return goodsSummaryList; }
set
{
goodsSummaryList = value;
this.RaisePropertyChanged("GoodsSummaryList");
}
}
展开
 我来答
秋俊在路上
2015-09-04 · 超过85用户采纳过TA的回答
知道答主
回答量:117
采纳率:0%
帮助的人:111万
展开全部
this.RaisePropertyChanged("GoodsSummaryList");把这一句在你的按键中执行一次

为了做到,把你的按键命令也得写在viewmodel里
更多追问追答
追问

谢谢您的回答,还是不行,效果也是界面上排序了但GoodsSummaryList里面的数据没有排序

XML:

<Button Content="排序"  Command="{Binding PaixuCommand}"/>

ViewModel:

{

}

追答
看错了,以为你是数据排好了,界面没排好
现在的问题是你用ICollectionView引起的,view对象的排序,过滤及分组.这些功能和数据对象本身是相互独立的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式