2008-11-06 71 views
1

有关如何提高DataGridViewComboBoxColumn执行大项目集的任何建议?.NET 2.0 DataGridView ComboBox列 - 缓慢显示项目

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

我用一个标准的ComboBox控件测试了相同的项目集合,它的工作速度非常快。

任何想法?

谢谢。

回答

-1

您的数据绑定10K项目组合框或数据网格?

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

如果它到了数据网格,那么就使用分页并将数据源的大小切成一个更合理的大小。

如果它的组合框,那么你的解决方案不能使用。您最好为用户提供一个自动填充框,比如ajax工具包(http://www.asp.net/AJAX/AjaxControlToolkit/Samples/AutoComplete/AutoComplete.aspx)或弹出窗口,尽管他们可以通过它来页面或搜索您的10k项目。

2

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