- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我想在表格中显示 >50000 行。哪个控件最好用:DataGrid 还是 ListView(在详细 View 中)?这些控件中的哪一个将具有更好的性能?
最佳答案
正如 Hans 在对原始问题的评论中所说,它们的性能都将很糟糕,仅次于您的用户肯定会在同时显示如此多的数据行时感到不快.
但如果这在您的应用程序中是不可避免的(并且您提供了非常的搜索功能),那么您应该强烈考虑使用虚拟模式选项,无论哪种控制你决定使用。这意味着您必须提供自己的数据管理操作,而不是依赖控件为您完成。优点是事情要快得多。作为documentation说:
Virtual mode is designed for use with very large stores of data. When the
VirtualMode
property is true, you create aDataGridView
with a set number of rows and columns and then handle theCellValueNeeded
event to populate the cells. Virtual mode requires implementation of an underlying data cache to handle the population, editing, and deletion of DataGridView cells based on actions of the user. For more information about implementing virtual mode, see How to: Implement Virtual Mode in the Windows Forms DataGridView Control.
或者,对于 ListView
control :
Setting the
VirtualMode
property to true puts theListView
into virtual mode. In Virtual mode, the normalItems
collection is unused. Instead,ListViewItem
objects are created dynamically as the ListView requires them.Virtual mode can be useful under many circumstances. If a
ListView
object must be populated from a very large collection already in memory, creating aListViewItem
object for each entry can be wasteful. In virtual mode, only the items required are created. In other cases, the values of theListViewItem
objects may need to be recalculated frequently, and doing this for the whole collection would produce unacceptable performance. In virtual mode, only the required items are calculated.In order to use virtual mode, you must handle the
RetrieveVirtualItem
event, which is raised every time theListView
requires an item. This event handler should create theListViewItem
object that belongs at the specified index. In addition, theVirtualListSize
property must be set to the size of the virtual list.Handling the
SearchForVirtualItem
event enables searching in virtual mode. If this event is not handled, theFindItemWithText
andFindNearestItem
methods will return null.You can handle the
CacheVirtualItems
event in order to maintain a cache ofListViewItem
objects. If the calculation or lookup to create aListViewItem
object is expensive, maintaining a cache can improve performance.If the
View
property is set to Tile, the value will automatically be changed to LargeIcon whenVirtualMode
is set to true.In virtual mode, the
Items
collection is disabled. Attempting to access it results in anInvalidOperationException
. The same is true of theCheckedItems
collection and theSelectedItems
collection. If you want to retrieve the selected or checked items, use theSelectedIndices
andCheckedIndices
collections instead.
关于c# - 什么更好用: a DataGrid or ListView for displaying large amounts of data?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6089674/
matplotlibrc 示例文件指出: ## The font.size property is the default font size for text, given in pts. ## 1
在 HTML/CSS 中,可以通过以下方式指定字体大小(已弃用,但所有浏览器都支持): text n 是 {1, 2, 3, 4, 5, 6, 7} 的一个元素。 另一种可能性是: text s 是
我正在编写物理模拟代码,最近我遇到了异常结果。我设法调试了我的程序,错误出在用大整数除以大 double ,形式如下: cout << my_large_double/my_large_int <<
由于“大”是一个相对术语,我想知道“大”的确切含义是什么。更具体地说,我想在数据库中存储从几个字节到 50 个字节的二进制数据,并且想知道是否应该使用 Blob 或其他数据类型。 最佳答案 所有 DB
这是我的代码的想法: 我有一个很大的电子邮件数据 RDD,称为 email。大约 7 亿封电子邮件。它看起来像这样: [['value1','value2','value3','value4'],['
我需要拆分由另一个 Pig 脚本生成的输出部分文件,并生成每个包含 1000 行的组。这些组将发布到网络服务以供进一步处理。数据之间没有关系,所以我无法将数据分组到特定字段。 我如何在 Pig 中执行
它们都有 2vcpu 和 8G 内存。但对于 t2.large,您只能使用单个 vcpu 的 60%,两个 vcpu 平均各使用 30%。即使考虑到“CPU积分”,t2.large似乎也比m4.lar
我正在尝试使用 git svn 克隆一个大型 svn 存储库。 repo 有 100000 次修订。大小约为 9GB(原始文件夹)。 repo 协议(protocol)中的最大文件是 300 MB。
我刚接触 android。在我的教程书中(有点过时)在Eclipse中教学,只是在layout-large目录下编写另一个layout xml文件以适配大屏。 我使用的是android studio,
如果我要升级亚马逊实例,我会创建镜像的快照并从该镜像创建新实例,然后升级该实例。 我的问题与 mongodb 以及从 m1.large 升级到 m3.large 实例的最佳方式有关 - 基本上 m3
这个问题可能需要一些编译器知识才能回答。我目前正在做一个项目,我将在其中创建一个数组,可能是 int[2][veryLargeNumber] 或 int [veryLargeNumber][2] 逻辑
我在使用 mysql 5.5.12 时遇到了 Amazon RDS 的 IO 性能问题。有 2 种实例类型相似且价格接近: 超大数据库实例:15 GB 内存、8 个 ECU(4 个虚拟核心,每个 2
我需要设计一个包含大量字段的网页,每个字段都显示在一行表格中。有几个类别。我希望为每个类别制作一个单独的表格并进行不同的设计。 网页上存在大量表格是否会使速度变慢?哪个更好.. 有 10 个表,每个表
我在my.cnf中添加了如下内容 [mysqld] max_allowed_packet=32M [mysql] max_allowed_packet=32M 而且我还在 JDBC 查询中添加了以下内
我正在为 Nexus 4、Samsung 7.7、Nexus 7、S3 和 Note-2 开发应用程序。我正在为所有这些布局制作一个 apk。除 Nexus 7 和 Samsung 7.7 外,其他一
我有一个包含大约 1000 万行且大小约为 400mb 的文件,我的系统无法处理它。当我尝试使用 gedit 打开文件时,它卡住了。有没有办法处理这么大的数据文件。 最佳答案 使用 gnu(Windo
这个问题已经有答案了: "Integer too large" for a small compile time constant (4 个回答) 已关闭 6 年前。 当我添加整数时,即使我将其加倍,
这个问题已经有答案了: "Integer number too large" error message for 600851475143 (8 个回答) Java long number too l
我们正在开发一个注册系统,但现在由于编译期间出现内存错误而陷入困境。 我们上网查了一下,发现错误信息的原因是.java文件的大小。我们的 EnrollmentSystem 类现在有 10171 行代码
这个问题已经有答案了: How to import large sql file in phpmyadmin (23 个回答) 已关闭 4 年前。 我刚刚在 Digital Ocean 上设置了一个
我是一名优秀的程序员,十分优秀!