我有一个包含ComboBoxColumn的DataGridView。我应该将一个大型数据集(大约20000个项目)放入组合框中进行选择,这样用户就可以输入前几个数字,然后单击正确的数字。
大型组合框的问题在于它们需要很长时间才能加载。现在,这对于正常的组合框来说不是问题(好吧,它会使程序的初始加载时间变大);但是对于数据网格视图中的组合框,它是:DGV中的组合框只在它的单元格处于编辑模式时才加载,所以看起来如此。一旦我单击单元格,组合框“卸载”,即如果我再次单击它,我必须等待它再次加载。
有没有办法解决这个问题,或者可能更快地加载这些20k条目?
我认为这不需要代码示例,因为它不是代码本身,而是winforms的行为。
编辑:我们决定将其设为文本框,只检查该值是否在允许的项目列表中
答案 0 :(得分:0)
我认为只要你使用那么多的条目,它总是很慢。您可以尝试将其加载到RAM(例如public List<YourClass> tmpList {get;set;
)并将Combobox与列表而不是绑定源连接。只要没有对条目进行更新,这将减少查询或重新加载。
减少这些条目的另一种方法是尝试找到另一种方法。您需要那么多的值还是有其他方法来确定正确的数据?也许过度思考这个网格或值的工作流程。