Sliverlight中datagrid的绑定数据源更新问题
private void initDataGrid()
{
//CommonFinanceModel.colSalesOrder为一个订单表
pcv1 = new PagedCollectionView(CommonFinanceModel.colSalesOrder);
//显示本地订单
pcv1.Filter = new Predicate<object>(showSalesInfo);
dataGrid1.ItemsSource = pcv1;
dataGrid1.IsReadOnly = true;
}
我通过上述方法初始化了datagrid1,然后我需要删除pcv1里的一条记录,通过设置断点可以确定pcv1里我要删除的那条记录的却也已删除,然后我重新绑定datagrid1,语句为:dataGrid1.ItemsSource = pcv1;为何此时pcv1已经变化了,但绑定到datagrid1后,在前台页面一直没有重新刷新呢?
[解决办法]
请使用ObservableCollection<T>来作为数据集合绑定到控件
http://www.cnblogs.com/chengxingliang/archive/2011/07/18/2108732.html
[解决办法]
方法1: 在数据操作完成后,重新刷新绑定Datagrid的ItemsSource。
例如:
dataGrid1.ItemsSource = null;
initDataGrid();
方法2: 实现动态更新,可以考虑使用将数据集合类型转换为ObservableCollection<T>,在ObservableCollection<T>内,已经自动实现INotifyPropertyChanged接口,也可以实现你的需求。
[解决办法]