我正在使用具有多列控件的 Telerik RadCombobox 来加载大约 5000 条记录的数据。当我单击此控件列出数据时它非常慢,而当我过滤数据时它又太慢了。
请问有什么想法、技术或算法可以让它加载得更快吗?
我正在使用具有多列控件的 Telerik RadCombobox 来加载大约 5000 条记录的数据。当我单击此控件列出数据时它非常慢,而当我过滤数据时它又太慢了。
请问有什么想法、技术或算法可以让它加载得更快吗?
使用 LoadOnDemand 和虚拟滚动。为了获得最佳性能,通过 WebService 加载项目。这应该通过在小块上加载数据来提高性能。
我会说你看到的很正常。毕竟,3000 个项目的足迹大约如下:
25 个字节仅用于项目,5 个字节用于基本文本,1 到 4 个字节用于计数器文本。
以及一些 JSON 数据。
乘以 3000,您将关闭超过 100 kb 的回发内容。
旧浏览器,尤其是 IE6、7 和 8,因为内容太多而速度慢是出了名的。此外,该内容需要解析为 HTML 元素和所有 JS 设置。
另一方面,Chrome 速度非常快,100kb 的内容不会减慢它的速度。
为了解决这个问题,您可以使用虚拟滚动而不返回整个数据集。您可以阅读这篇关于虚拟滚动的帮助文章以了解总体思路——http: //www.telerik.com/help/aspnet-ajax/combobox-load-on-demand-showmoreresultsbox.html。