具有大量行的数据网格

本文关键字:数据 数据网 网格 | 更新日期: 2023-09-27 18:08:49

在我的WPF应用程序中,我有一个带有选项卡控件的屏幕。其中五个选项卡包含需要显示大量行(至少5000行)的数据格。这些表被绑定到Part对象的ObservableCollections上。每行显示大约20个部件数据点。我的问题是,在用户输入他们需要的信息并生成数据之后,单击选项卡会导致应用程序挂起30-60秒。在此之后,数据网格最终加载,并且通过正确的虚拟化设置,它们以可接受的速度执行(不是非常快,但也不是很慢)。如果我禁用虚拟化,程序会占用太多内存,并且加载时间不会受到影响。

最令人反感的表由大约六个模板列组成。每个模板都包含stackpanel或grid中的控件;基本上每一行都被分成两行,就像双行一样。这种布局是必需的,而分页可能不是客户愿意接受的。

这是我的应用程序中最重要的屏幕,我几乎不知道如何使它工作。我能做些什么来加快这个过程吗?也许ObservableCollection是一个错误的选择?

具有大量行的数据网格

您能提供更多的见解吗?

  1. 你能检查一下"生成"5个5000行的集合花了多少时间吗?(这是我想你说的)

  2. 随着虚拟化"打开",我们将集合分配给项目源后的UI加载时间是什么?

  3. 如果你绑定"ItemsSource"到各自的数据网格只有当tabItem实际上是可见的'选定?

  4. 你的数据格有默认的排序成员路径吗?分组吗?过滤器的路径?

这些是我想从这个问题开始的一些事情。