我正在制作一个小型C#GUI应用程序,它从二进制文件中读取表格(单元格,行,列)数据并将其显示给最终用户。有些文件很小(5列/ 10行),但有些文件非常大(245列,差不多5万行)。
我发现轻松显示类似MsExcel的表的唯一方法是DataGridView。当我尝试使用这些小文件时,我真的很开心,但是当我尝试使用这个小文件时,它甚至在它完成加载之前就进入了OOM(我有超过4 GB的可用内存)。
之后虽然我发现了VirtualMode,但它确实很快。然而不幸的是,列不再是可排序的,这是必须的。
那么,我可以做些什么来获得类似于DataGridView的虚拟模式的性能,但是它也可以排序? (如果你有另一个控件,那没关系,我没必要使用DataGridView)
另外,请注意:
答案 0 :(得分:2)
您可以自己处理排序,并使用“标准”排序算法之一对datagridview的数据源进行排序。
如果使用List,则可以使用“Sort()”方法。但是每个集合都可以自己排序。
答案 1 :(得分:1)
寻找一些第三方控制。我已经将Janus(www.janusys.com)和DevExpress(www.devexpress.com)用于网格,它们运行良好。