首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CheckboxList TreeView

CheckboxList TreeView
EN

Stack Overflow用户
提问于 2011-06-19 10:31:05
回答 1查看 576关注 0票数 0

我有一个CheckboxList in ASP.NET,我想使用类似于jsTree的东西将其转换为TreeView。这个是可能的吗?这些节点嵌套在CheckboxLists中,深度可达四个层次,其中包含CheckboxLists。它有可能神奇地把它们变成一个TreeView,还是我需要整天在代码背后修改JS呢?

EN

回答 1

Stack Overflow用户

发布于 2011-06-19 12:14:16

假设您可以计算每个节点的“深度”,您可以将以下代码添加到OnPreRender中,并显示您的项的层次结构:

代码语言:javascript
复制
protected void overrided OnPreRender()
{
    lstItems.Items.Do(a=>
    {
        var item = // get item from a.Value
        for(var i = 0; i< item.Depth; i++)
        {
            a.Text = "<span class='spacer'></span>" + a.Text;
        }
    });
}

并将以下规则添加到样式表中:

代码语言:javascript
复制
span.spacer { width:20px; }

尽管如果您希望具有折叠/展开功能,您将需要添加一些我在这里不包含的javascript操作(也要保持简单)

根据层次结构正确地排列添加到lstItems中的项目是很重要的。我推荐的解决方案是使用以下方法作为数据源的排序键:

代码语言:javascript
复制
public string GetFullPath()
{
    if(Parent == null) return Key;
    return Parent.GetFullPath() + ">" + Key;
}

其中键是唯一的字段(在单亲的上下文中)。-可以是姓名、秩序等。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6401850

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档