jqgrid树状网格可以显示用户定义的图标吗

Can jqgrid tree grid show user-defined icon

第一张图是使用jqGrid树状网格生成的。图标是默认设置,非 Leaf item 以 "Inverted triangle" 开头,Leaf item 以 "o" 开头。

如何设置才能让显示结果像第二张图一样,可以为每一行设置不同的图标吗?

TreeGrid 的输入数据可以包含 icon 属性 和 class 名称,指定树叶的图标。节点属性的值应该包含两个 classes:一个用于扩展节点,一个用于折叠节点。例如

[
    { ...
        level: "0", parent: "null", isLeaf: false, expanded: true, loaded: true,
        icon: "ui-icon-folder-open,ui-icon-folder-collapsed" },
    { ...
        level: "1", parent: "1", isLeaf: true, expanded: false, loaded: true,
        icon: "ui-icon-flag" },
    { ...
        level: "2", parent: "2", isLeaf: true, expanded: false, loaded: true,
        icon: "ui-icon-star" },
    ...
]

演示https://jsfiddle.net/OlegKi/4svafpub/3/演示了TreeGrid,显示

您没有发布任何详细信息。没有您使用的 jqGrid 版本,没有关于 jqGrid 分支的信息(free jqGrid, commercial Guriddo jqGrid JS 或版本 <=4.7 的旧 jqGrid)。不知道您使用哪个 CSS 框架:jQuery UI 或 Bootstrap 以及哪个图标集(jQuery UI 图标,Font Awesome 4.x,字形图标 Bootstrap ...)。您的要求的确切实施将取决于信息。在任何情况下,您都必须从您使用的图标集中选择图标 classes,或者您需要定义自定义 CSS classes,您将用于 TreeGrid节点和叶子,并定义 CSS 规则,这些规则指定所有必需的 CSS 属性:background-imagebackground-position 等等。结果,您将能够显示您需要的任何图标。

更新: 在我看来 icon 将仅用于叶子,而不是如上所述的节点。

更新 2: 我对免费 jqGrid 的代码做了一些更改,现在可以为 TreeGrid 的节点指定图标。具有更新版本的免费 jqGrid 显示的相同代码

查看演示 https://jsfiddle.net/OlegKi/4svafpub/4/