【问题标题】:Can't set datagrid's selected item after refreshing page刷新页面后无法设置datagrid的选中项
【发布时间】:2012-03-27 15:02:07
【问题描述】:

遇到了一个奇怪的问题...我从绑定到数据网格的数据库中获取了一些数据。当我执行某些升级时,直到我刷新页面,数据网格才会得到(但数据库会得到)。 所以我想用

    temp = theGrid.SelectedItem
    Me.NavigationService().Refresh()
    theGrid.SelectedItem = temp

但它不起作用....似乎 Navigationservice.Refresh 在 sub 完成后强制应用程序完全重新启动。

你们有什么想法吗?

非常感谢!

【问题讨论】:

  • 你说...it seems like Navigationservice.Refresh forces the application to restart completely after the sub is done ...你能告诉我们Me.NavigationService()是什么吗?并且在调用Refresh 时是否设置了数据网格的ItemsSource
  • 更好的做法是绑定到公共属性并实现 iNotifyPropertChanged 以实现 UI 的动态更新。

标签: wpf datagrid refresh


【解决方案1】:

NavigationService.Refresh 告诉它刷新内容(即重绘内容),它没有告诉它刷新数据。您需要改为刷新数据源。如果您可以展示一些与您如何加载数据相关的代码,我或许可以在这方面提供一些建议。

【讨论】:

  • 我的数据源是一个数据集,由 Tableadapter 填充。但是当我手动重新填充集合时,一个新的子启动处理 thegrid.SelectedCellChanged 并发生错误,因为它无法获得所需的所有信息(例如 ID)。我这样做是因为数据网格具有导航功能并显示一些子行,当单击导航网格上的新项目时,这些子行总是会刷新自己。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-14
  • 1970-01-01
  • 1970-01-01
  • 2015-11-21
相关资源
最近更新 更多