首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > CAD教程 >

Sliverlight中datagrid的绑定数据源更新有关问题

2012-03-30 
Sliverlight中datagrid的绑定数据源更新问题private void initDataGrid(){//CommonFinanceModel.colSalesO

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接口,也可以实现你的需求。
[解决办法]

探讨

方法1: 在数据操作完成后,重新刷新绑定Datagrid的ItemsSource。
例如:
dataGrid1.ItemsSource = null;
initDataGrid();

方法2: 实现动态更新,可以考虑使用将数据集合类型转换为ObservableCollection<T>,在ObservableCollection<T>内,已经自动实现INotifyPropertyCh……

[解决办法]
探讨

方法1: 在数据操作完成后,重新刷新绑定Datagrid的ItemsSource。
例如:
dataGrid1.ItemsSource = null;
initDataGrid();

方法2: 实现动态更新,可以考虑使用将数据集合类型转换为ObservableCollection<T>,在ObservableCollection<T>内,已经自动实现INotifyPropertyCh……

热点排行