我需要在数据网格中有效地显示未知长度的字典序列。此序列是可能包含任意数量结果的可能较慢的LINQ查询的结果。
起初我认为VirtualMode上的DataGridView是我正在寻找的内容,但似乎必须事先知道行数和列数。我尝试添加单行和列,然后根据需要从CellValueNeeded事件中添加更多内容,但这不起作用。
VirtualMode甚至可以实现这一点吗? 或者我是否需要估计屏幕上可见的行数并手动构建行/列? 如果是这样,我如何确保存在垂直滚动条并在用户使用时做出适当反应?
答案 0 :(得分:0)
您可以简单地拥有一个IBindingList集合,它将在添加行时通知网格更新。因此,您使用LINQ进行查询并填充此集合,该集合可以是任何“N”数字。在初始加载期间,可以将一些固定行设置为集合作为初始记录集,比如1000,然后在迭代LINQ查询时继续向集合添加行。
-Fahad