.NET 2.0 DataGridView ComboBox 列 - 显示项目缓慢

发布于 2024-07-08 07:13:24 字数 290 浏览 7 评论 0原文

关于如何提高大型项目集的 DataGridViewComboBoxColumn 性能有什么建议吗?

我有一个 DataGridView,其中有几个 DataGridViewComboBoxColumn 类型的列。 我将这些组合框列数据绑定到一个相当大的集合(10k+ 项)。 因此,显示项目的速度非常慢(当我单击单元格上的向下箭头按钮时,大约需要 10 秒才能显示项目)。

我已经使用标准 ComboBox 控件测试了相同的项目集合,并且它运行得非常快。

有任何想法吗?

谢谢。

Any suggestions on how to improve DataGridViewComboBoxColumn performace with large item sets?

I've got a DataGridView with several columns of type DataGridViewComboBoxColumn. I'm databinding those combobox columns to a rather large collection (10k+ items). As a result it's very slow to display the items (when i click on the down-arrow button on a cell it takes about 10 seconds to display the items).

I've tested the same collection of items with a standard ComboBox control, and it works really fast.

Any ideas?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

你的心境我的脸 2024-07-15 07:13:24

更好的解决方案是使用数据库中的值填充字符串数组,并将列数据源设置为 null,然后将该列的 Items 属性设置为您填充的值的数组。 这样,每次填充组合框时就不会重新查询数据库。 希望这可以帮助。

A much better solution is to populate a string array with the values from the database and set the column datasource to null, then set the Items property of the column to the array of values you populated. This way it does not requery the database each time it populates the combobox. Hope this helps.

风和你 2024-07-15 07:13:24

最好的方法是对连接功能请求进行投票微软连接:)

The best way is to vote connect feature request about it on MS connect :)

过度放纵 2024-07-15 07:13:24

您是否要将 10k 项数据绑定到组合框或数据网格?

无论哪种方式,您都应该考虑设计的可用性。

如果是数据网格,则使用分页并将数据源的大小削减到更合理的大小。

如果它是组合框,那么您的解决方案将无法使用。 您最好为用户提供一个自动完成框,例如 ajax 工具包中的自动完成框 (http://www.asp.net/AJAX/AjaxControlToolkit/Samples/AutoComplete/AutoComplete.aspx)或一个弹出窗口,他们可以通过该弹出窗口分页或搜索您的 10k 项。

Are you data binding 10k items to the combo boxes or the data grid?

Either way you should think about the usability of your design.

If its to the data grid then use paging and cut the size of the data source bound to a more reasonable size.

If its to the combo box then your solution can't be usable. You'd be better giving your users an autocomplete box like the one from the ajax toolkit (http://www.asp.net/AJAX/AjaxControlToolkit/Samples/AutoComplete/AutoComplete.aspx) or a popup though which they can page or search though your 10k items.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文