【问题标题】:Efficient way to show data in wpf datagrid?在 wpf 数据网格中显示数据的有效方法?
【发布时间】:2019-02-27 21:07:05
【问题描述】:

我在一个列表中有一百万个对象,该对象包含多个字符串,因此内存使用量几乎翻了一番。由于 c# 中的字符串占用 26 + (length * 2) 字节的内存。

因为我想显示庞大的数据集,所以内存是个问题。我想将字符串存储为空终止字符数组,并在渲染数据网格行时将它们转换为字符串,但无法找到在渲染时更改数据的方法。

有什么方法可以实现吗? 或任何其他解决方案?

【问题讨论】:

  • 没有一个列表,可以创建多个数据列表,以便在不同的数据网格窗口中直观地比较数据。
  • 你对你的可怜的用户做了什么给他们一个包含一百万个项目的列表。
  • window congaing 反汇编一个交互式二进制文件,它可以从一端跳转到另一端,nm,它不是你想的那样,它是一个要求。
  • 为什么需要在列表中显示百万个对象?您是否考虑过一些分页来限制一次可以显示的最大数据数?如果您使用 MVVM 并且您的列表启用了 UI 虚拟化,那么您可以在渲染时轻松转换数据 - 如果是这样,您的 ViewModel 上的数据 getter 将仅在对象被渲染时被调用(在 UI 上可见/滚动)。跨度>
  • 我不能使用分页。 list启用了ui虚拟化,但是内存中的数据达到3-4gb,也需要内存来处理数据。仿真反编译和所有

标签: c# .net wpf optimization datagrid


【解决方案1】:

我使用数据虚拟化解决了这个问题,因为您无法减少字符串、列表或对象类的内存使用量。

我使用了这个网格,适用于 .net 4.7,不知道是否适用于以下版本。

https://github.com/FormatD/FastWpfGrid

并在后端使用了数据库。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-08
    • 1970-01-01
    相关资源
    最近更新 更多