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

本文关键字:创建 分层 数据 | 更新日期: 2023-09-27 18:34:11

我正在尝试创建数据以绑定到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# 中将其转换为上述格式。

谢谢

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

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

NodeId 是一个唯一的 ID,树将用它来构建他的视图,而 ParentId 是告诉树如何填充层的 ID。

最后但并非最不重要的一点是,树视图需要一个 RootId 作为列表的入口点。