有了这么多节点,即使您可以找到一种高效的方式来显示它们,您的用户也可能不会很容易使用它。想象一下尝试滚动 35,000 个节点只是为了找到您感兴趣的节点!分页也是如此。用户真的要浏览 3500 页(假设页面大小为 10)来找到他们的目标吗?可能不会,如果他们这样做了,他们可能不会太高兴。:)
相反,对于像这样的大型数据集,我发现通常最好提供某种类型的“过滤器”UI。使您的用户能够将可用数据“塑造”成更易于管理的集合的东西。
我不确定您必须提供哪些过滤功能(即您可以过滤哪些字段),但我认为这是您最好的选择。UI 的选项包括:
- 像 RadGrid for ASP.NET AJAX 这样的东西可以提供内置的过滤 UI,使用户能够快速找到他们感兴趣的值。
- 使用 RadTreeView 的客户端 API 并支持按需加载节点,您可以创建一个文本框,在用户键入时过滤树中的节点。您只需处理 TextBox 的 onkeyup 事件,然后向 Web 服务发出请求以获取满足过滤条件的节点,并用结果替换 TreeView 的节点集合。这将使您的用户更容易找到他们的目标节点。
显然还有其他方法,但希望这能给你一些想法。
简短回答:对于大型数据集,我会结合使用实时过滤和 Web 服务来向我的用户呈现更易于管理的结果集。对于初始加载,我只会加载第一个(比方说)200 个节点以保持高性能。
希望这可以帮助!-托德