【问题标题】:C# GUI, have to display a huge table and make it sortableC# GUI,必须显示一个巨大的表格并使其可排序
【发布时间】:2009-12-05 19:15:28
【问题描述】:

我正在制作一个小型 C# GUI 应用程序,它从二进制文件中读取类似表格(单元格、行、列)的数据并将其显示给最终用户。有些文件非常小(5 列 / 10 行),但有些文件非常大(245 列和近 50,000 行)。

我发现可以轻松显示类似 MsExcel 的表格的唯一方法是 DataGridView。当我尝试使用小文件时,我真的很满意,但是当我尝试使用大文件时,它甚至在加载完成之前就已经 OOM(而且我有超过 4 GB 的可用内存)。

在那之后我发现了它的VirtualMode,它真的很快。然而不幸的是,列不再是可排序的,这是必须的。

那么,我能做些什么来获得与 DataGridView 的虚拟模式相似但也可排序的性能? (如果你心里有别的控件也没关系,我不一定要用DataGridView)

另外,请注意:

  • 二进制文件不是由我设计或制作的。我无法控制它们的格式。
  • 数据不在数据库中。
  • 我的最终用户不必安装数据库并在那里导入数据。

【问题讨论】:

    标签: c# .net user-interface datagridview


    【解决方案1】:

    您可以自己处理排序,并使用“标准”排序算法之一对 datagridview 的数据源进行排序。

    如果你使用 List,你可以使用“Sort()”方法。但是,每个集合都可以自己排序。

    【讨论】:

      【解决方案2】:

      寻找一些第三方控制。我在网格中使用了 Janus (www.janusys.com) 和 DevExpress (www.devexpress.com),它们工作得很好。

      【讨论】:

        猜你喜欢
        • 2012-08-19
        • 2016-05-25
        • 2021-10-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-29
        • 2017-07-24
        相关资源
        最近更新 更多