首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多级treeView

多级treeView
EN

Stack Overflow用户
提问于 2011-04-21 02:06:34
回答 3查看 1.6K关注 0票数 0

我正在致力于将三个级别绑定到我的telerik treeView

代码语言:javascript
复制
+Directories 

  *Archives

     -Documents

  *Directories

这是我的密码:

代码语言:javascript
复制
 <% Html.Telerik().TreeView()
           .Name("TeleTreeView")
           .DragAndDrop(true)
           .ExpandAll(true)
            .BindTo(Model, mappings =>
              {
                  mappings.For<SARS.Directory>(binding => binding
                          .ItemDataBound((item, directory) =>
                          {
                              item.Text = (string)directory.DirectoryName;
                              item.Value = (string)directory.NodeID;
                              item.ImagUrl="~/Images/Folder-Add-icon.png";
                          })


                          //Sub Directories
                          .Children(directory => directory.Directory1));
                          mappings.For<SARS.Directory>(binding => binding
                          .ItemDataBound((item, dir) =>
                          {
                              item.Text = dir.DirectoryName;
                              item.Value = (string)dir.NodeID;
                              item.ImagUrl="~/Images/Folder-Add-icon.png";
                          })

                          //Sub archives
                            .Children(directory => directory.Archives));
                            mappings.For<SARS.Archive>(binding => binding
                            .ItemDataBound((item, arch) =>
                            {
                                item.Text = arch.ArchiveName;
                             }));

        })
              .Render();%>

编辑:问题是我没有拿到档案级别。我该怎么办?

EN

回答 3

Stack Overflow用户

发布于 2011-07-24 12:29:17

Directory1应该包含一个类的独立列表,比如档案,然后很容易获得子节点。我已经尝试了多达4个层次的等级。

票数 1
EN

Stack Overflow用户

发布于 2011-05-06 07:58:44

目前不支持这一点。不能指定不同类型的子级。对Children()的第二个调用将覆盖前一个调用。

票数 0
EN

Stack Overflow用户

发布于 2015-08-12 09:57:19

最近,我遇到了同样的问题,一些节点子节点可能具有不同和/或混合的类型:

代码语言:javascript
复制
 - TypeA
     - TypeA
           - TypeA + TypeB
           - TypeB

我解决这个问题的方法是简单地在各种类型上引入一个接口,然后将treeview绑定到接口上:

代码语言:javascript
复制
public interface ITreeNode
{
    int Id { get; }
    string Name { get; }
    IEnumerable<ITreeNode> ChildrenNodes { get; }
}


Html.Kendo().TreeView()
    .BindTo(Model.CurrentHierarchy, mappings => 
    {
        mappings.For<ITreeNode>(binding => binding.ItemDataBound((item, node) =>
        {
           item.Id = node.Id.ToString();
           item.Text = node.Name;                
        })
        .Children(o => o.ChildrenNodes))
     });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5738733

复制
相关文章

相似问题

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