繁体   English   中英

仅当单击时(单元格处于编辑模式时),DataGridView中的C#ComboBox才加载数据源

[英]C# ComboBox in DataGridView loads datasource only when clicked(when it's cell is in edit mode)

我有一个包含ComboBoxColumn的DataGridView。 我应该将一个大型数据集(约2万个项目)放入组合框中以进行选择,以便用户可以输入前几位数,然后单击正确的数字。

大型组合框的问题在于它们需要很长时间才能加载。 现在,使用普通的组合框就不会有问题了(嗯,这会使程序的初始加载时间更长); 但是,在datagridview中使用组合框是:DGV中的组合框只有在单元格处于编辑模式时才加载。 一旦单击单元格,组合框就会“卸载”,即,如果再次单击它,则必须等待它再次加载。

有没有办法解决这个问题,或者有办法更快地加载这20k条目?

我认为这不需要代码示例,因为它不是真正的代码本身,而是Winforms的行为。

编辑:我们决定将其设为文本框,然后只检查该值是否在允许的项目列表中

我认为,只要您使用大量条目,它总是很慢。 您可以尝试将其加载到RAM中(例如, public List<YourClass> tmpList {get;set; ),然后将public List<YourClass> tmpList {get;set;与列表(而不是绑定源)连接。 只要您的条目没有更新,这将减少查询或重新加载。

减少这些条目的另一种方法是尝试找到另一种方法。 您是否需要那么多值或是否有其他方法来确定正确的数据? 也许会过分考虑此网格或值的工作流程。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM