如何在C#中创建分层数据

时间:2016-02-11 19:50:55

标签: c# treeview

我正在尝试创建绑定到Telerik的树视图控件的数据。该文件建议以下列格式创建数据:

dataSource: 
[{
    id: 1, text: "My Documents", expanded: true, spriteCssClass: "rootfolder", items: [
        {
            id: 2, text: "Kendo UI Project", expanded: true, spriteCssClass: "folder", items: [
                { id: 3, text: "about.html", spriteCssClass: "html" },
                { id: 4, text: "index.html", spriteCssClass: "html" },
                { id: 5, text: "logo.png", spriteCssClass: "image" }
            ]
        },
        {
            id: 6, text: "New Web Site", expanded: true, spriteCssClass: "folder", items: [
                { id: 7, text: "mockup.jpg", spriteCssClass: "image" },
                { id: 8, text: "Research.pdf", spriteCssClass: "pdf" },
            ]
        },
        {
            id: 9, text: "Reports", expanded: true, spriteCssClass: "folder", items: [
                { id: 10, text: "February.pdf", spriteCssClass: "pdf" },
                { id: 11, text: "March.pdf", spriteCssClass: "pdf" },
                { id: 12, text: "April.pdf", spriteCssClass: "pdf" }
            ]
        }
    ]
}]

我的数据格式为SortedList<string, SortedList<string, IData>>。我想将它转换为C#中的上述格式。

由于

1 个答案:

答案 0 :(得分:0)

我不使用Telerik而是DevExpress(个人偏好更好),我必须告诉TreeView哪个字段是NodeId,哪个字段是ParentId。我建议你在你的IData中添加一个ParentId字段。

NodeId是一个唯一的ID,Tree将使用该ID构建视图,ParentId是告诉Tree如何填充图层的ID。

最后但并非最不重要的是,TreeView需要RootId作为List的入口点。