【问题标题】:Using VirtualMode on a DataGridView when the number of rows/columns isn't known当行数/列数未知时在 DataGridView 上使用 VirtualMode
【发布时间】:2011-02-20 00:49:33
【问题描述】:

我需要在数据网格中有效地显示一个未知长度的字典序列和未知键。此序列是可能包含任意数量结果的可能较慢的 LINQ 查询的结果。

起初我认为DataGridView 上的VirtualMode 是我要寻找的,但似乎必须预先知道行数和列数。我尝试添加一行和一列,然后根据需要从 CellValueNeeded 事件中添加更多内容,但这不起作用。

这甚至可以通过 VirtualMode 实现吗? 或者我是否需要估计屏幕上可见的行数并手动构建行/列? 如果是这样,我如何确保存在垂直滚动条并在用户使用它时做出适当的反应?

【问题讨论】:

    标签: .net winforms linq performance datagridview


    【解决方案1】:

    您可以简单地拥有一个 IBindingList 集合,该集合将在添加行时通知网格进行更新。因此,您使用 LINQ 进行查询并填充此集合,该集合可以是任何“N”数。在初始加载期间,可能会将一些固定行设置为集合作为初始记录集,例如 1000,然后在迭代 LINQ 查询时继续向集合添加行。

    -法哈德

    【讨论】:

      猜你喜欢
      • 2012-03-22
      • 2021-07-09
      • 2013-06-24
      • 2017-09-19
      • 1970-01-01
      • 2019-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多