DataGridViewComboBoxColumn包含大量项目非常慢

时间:2011-09-28 07:25:46

标签: c# vb.net visual-studio visual-studio-2010 visual-studio-2008

我有一个DataGrid,有几列。其中之一是DataGridViewComboBoxColumn。我在这个专栏中有很多项目 - 超过1000个 - 我需要所有这些项目。因此,分组不是一个选项 - 所有项目必须在那里,用户必须能够从所有项目中进行选择。 问题是,当项目数量大约为1000及以上时,DataGridViewComboBoxColumn变得非常缓慢。这个问题是微软所熟知的,它可以追溯到Visual Studio 2005:http://connect.microsoft.com/VisualStudio/feedback/details/117024/datagridviewcomboboxcolumn-responds-very-slow-compared-with-the-stand-alone-combobox-control

Visual Studio 2010中仍然存在这个问题。有任何想法如何解决这个问题?

是否可以部分填充DataGridViewComboBoxColumn数据?我的意思是(这是功能完全在Access中工作),当您单击DataGridViewComboBoxColumn时,会显示一些项目(例如,100项)。向下滚动到最新项目时,会加载其他项目(另外100个),依此类推。我没有看到任何其他选项使DataGridViewComboBoxColumn更快地工作?问题是,如何实现这个?有没有人遇到过这个问题?

问候,Frenky

1 个答案:

答案 0 :(得分:0)

我假设您使用的是Windows窗体?如果有可能切换到WPF,或者至少在Windows窗体应用程序中托管WPF数据网格(使用ElementHost)。

WPF可以利用虚拟化并允许更多项目而不会滞后(因为它不会查看未呈现的项目,非常类似于您的建议)。