Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#GUI,必须显示一个巨大的表并使其可排序_C#_.net_User Interface_Datagridview - Fatal编程技术网

C#GUI,必须显示一个巨大的表并使其可排序

C#GUI,必须显示一个巨大的表并使其可排序,c#,.net,user-interface,datagridview,C#,.net,User Interface,Datagridview,我正在制作一个小型的C#GUI应用程序,它从二进制文件中读取类似表格(单元格、行、列)的数据,并将其显示给最终用户。有些文件非常小(5列/10行),但有些文件非常大(245列,近50000行) 我发现的唯一一种可以轻松显示类似MsExcel的表的方法是。当我尝试使用小文件时,我真的很高兴,但是当我尝试使用大文件时,它在加载完成之前就发出了声音(我有超过4GB的可用内存) 在那之后,虽然我发现了它的存在,但它真的很快。然而不幸的是,列不再是可排序的,这是必须的 那么,我可以做些什么来获得类似于Da

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

我发现的唯一一种可以轻松显示类似MsExcel的表的方法是。当我尝试使用小文件时,我真的很高兴,但是当我尝试使用大文件时,它在加载完成之前就发出了声音(我有超过4GB的可用内存)

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

那么,我可以做些什么来获得类似于DataGridView的虚拟模式的性能,但也可以对其进行排序?(如果您考虑了另一个控件,那么没关系,我不必使用DataGridView)

此外,请注意:

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

    • 寻找一些第三方控件。我使用Janus()和DevExpress()进行网格,它们工作得非常好。

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

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