Asp.net Treeview在一个级别上按需加载大量节点
我需要显示一棵树。但是,有些节点有35000个子节点(直接子节点!)。这当然是降低可用性的方法 我更希望看到树只加载那些在浏览器视口中可见的节点 这些树存在于WiFrm和C++,你知道有没有一棵树存在于ASP.NET?< /P> 我们目前正在使用,这是一个可爱的控件,但不支持所描述的情况 额外问题Asp.net Treeview在一个级别上按需加载大量节点,asp.net,asp.net-ajax,treeview,telerik,Asp.net,Asp.net Ajax,Treeview,Telerik,我需要显示一棵树。但是,有些节点有35000个子节点(直接子节点!)。这当然是降低可用性的方法 我更希望看到树只加载那些在浏览器视口中可见的节点 这些树存在于WiFrm和C++,你知道有没有一棵树存在于ASP.NET?< /P> 我们目前正在使用,这是一个可爱的控件,但不支持所描述的情况 额外问题 从可用性的角度来看:你如何处理这些树。在一个级别上显示35000个节点很好,但是如何在该树中找到一些内容呢?你在树上使用分页吗?还是搜索框?或者添加额外的级别?我知道有一些jQuery支持的树控件。我
从可用性的角度来看:你如何处理这些树。在一个级别上显示35000个节点很好,但是如何在该树中找到一些内容呢?你在树上使用分页吗?还是搜索框?或者添加额外的级别?我知道有一些jQuery支持的树控件。我不知道这些名字。ASP.NET树控件肯定不支持此操作,因为它不可轴化。对于显示35000个节点的问题,我会像这样对它们进行分页
node
|
-- Sub Node 1
|
-- ...
|
-- Sub Node n
|
-- more...
当您将鼠标悬停在多个节点上或单击它时,它将获得更多节点。如果显示100个子节点,我将加载200并隐藏其他100个子节点。这样,当您将鼠标悬停在“更多”上时,它看起来是不相关的。每次你在更多的地方徘徊。。。将加载下一个隐藏的100
此外,现在使用所有高级浏览器创建自定义树控件并不困难,可以使用
和
嵌套来创建节点和子节点,然后应用适当的样式。如果您想使整个单击过程更轻松,则
中可以包含链接
我的两分钱。有这么多节点,即使你能找到一种性能好的方式来显示它们,你的用户可能也不会很容易使用它。想象一下,尝试滚动35000个节点,只是为了找到您感兴趣的节点!分页也是如此。用户真的要翻页3500页(假设页面大小为10页)才能找到他们的目标吗?可能不会,如果他们这样做了,他们可能不会太高兴 相反,对于这样的大型数据集,我发现通常最好提供某种类型的“过滤器”UI。它使用户能够将可用数据“塑造”为更易于管理的集合 我不确定你必须提供什么样的过滤能力(即你可以过滤哪些字段),但我认为这是你最好的选择。用户界面的选项包括: