我正在致力于将三个级别绑定到我的telerik treeView
+Directories
*Archives
-Documents
*Directories这是我的密码:
<% 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();%>编辑:问题是我没有拿到档案级别。我该怎么办?
发布于 2011-07-24 12:29:17
Directory1应该包含一个类的独立列表,比如档案,然后很容易获得子节点。我已经尝试了多达4个层次的等级。
发布于 2011-05-06 07:58:44
目前不支持这一点。不能指定不同类型的子级。对Children()的第二个调用将覆盖前一个调用。
发布于 2015-08-12 09:57:19
最近,我遇到了同样的问题,一些节点子节点可能具有不同和/或混合的类型:
- TypeA
- TypeA
- TypeA + TypeB
- TypeB我解决这个问题的方法是简单地在各种类型上引入一个接口,然后将treeview绑定到接口上:
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))
});https://stackoverflow.com/questions/5738733
复制相似问题