我需要在数据网格中高效地显示具有未知键的未知长度的字典序列。此序列是可能较慢的LINQ查询的结果,该查询可能包含任意数量的结果。
起初,我以为DataGridView上的VirtualMode就是我要找的,但似乎必须预先知道行数和列数。我尝试添加单个行和列,然后根据需要从CellValueNeeded事件添加更多行和列,但这不起作用。
使用VirtualMode可以做到这一点吗?或者,我是否需要估计屏幕上有多少行可见并手动构建行/列?如果是这样,我如何确保垂直滚动条存在,并在用户使用它时做出适当的反应?
发布于 2011-04-29 03:26:21
您可以简单地创建一个IBindingList集合,该集合将在添加行时通知网格进行更新。因此,您可以使用LINQ进行查询并填充此集合,该集合可以是任何'N‘数字。在初始加载期间,可能会将一些固定的行设置为集合的初始记录集,例如1000,然后在迭代LINQ查询时继续向集合添加行。
-Fahad
https://stackoverflow.com/questions/2842856
复制相似问题