如何迭代Primefaces树中的节点变量,以从DB设置CSS类中的图标
我用的是PF v。5.3.5和JSF v。2.2.8如何迭代Primefaces树中的节点变量,以从DB设置CSS类中的图标,css,primefaces,icons,Css,Primefaces,Icons,我用的是PF v。5.3.5和JSF v。2.2.8 <p:tree value="#{userFiltersBean.objectsTreeModel}" var="node" hideRootNode="true" styleClass="filtersTree"> <p:treeNode icon=""> 我在每个树节点中看到了不需要的相同图标。此图标用于树中的最后一个树节点。 然而,我想通过它们反复说明,每个树节点都有自己的图标
<p:tree value="#{userFiltersBean.objectsTreeModel}" var="node" hideRootNode="true" styleClass="filtersTree">
<p:treeNode icon="">
我在每个树节点中看到了不需要的相同图标。此图标用于树中的最后一个树节点。
然而,我想通过它们反复说明,每个树节点都有自己的图标
注意树的大小在每个环境中都不同,并且是动态创建的。
请问我该怎么做
请参阅当前PF版本。
所需的Icefaces版本为
提前感谢。在Api文档(->文档选项卡)中,它说您可以这样做:
<p: tree value="#{bean.root}" var="doc">
<p:treeNode type="mp3" icon="ui-icon ui-icon-video">
<h:outputText value="#{doc.name}" />
</p:treeNode>
<p:treeNode type="document" icon="ui-icon ui-icon-image-document">
<h:outputText value="#{doc.name}" />
</p:treeNode>
</p:Tree>
你愿意为我做链接吗
<p:treeNode type="mp3" ... />
如果有帮助,请告诉我
干杯
kyhu:)在Api文档(->文档选项卡)中,它说您可以这样做:
<p: tree value="#{bean.root}" var="doc">
<p:treeNode type="mp3" icon="ui-icon ui-icon-video">
<h:outputText value="#{doc.name}" />
</p:treeNode>
<p:treeNode type="document" icon="ui-icon ui-icon-image-document">
<h:outputText value="#{doc.name}" />
</p:treeNode>
</p:Tree>
你愿意为我做链接吗
<p:treeNode type="mp3" ... />
如果有帮助,请告诉我
干杯
kyhu:)在一个CSS类中为每个元素指定不同的值是不可能的。您必须为每个图标创建一个类,如下所示:
my-treenode-icon-1 {
background: url("/resources/img/treenode/icon-1.jpg") no-repeat top !important;
}
my-treenode-icon-2 {
background: url("/resources/img/treenode/icon-2.jpg") no-repeat top !important;
}
然后在迭代中使用图标名而不是路径(如果您在数据库中有一个路径,您可以对其最后一部分进行切片,并只获取图像名,该名称将是类名)
不可能在一个CSS类中为每个元素指定不同的值。您必须为每个图标创建一个类,如下所示:
my-treenode-icon-1 {
background: url("/resources/img/treenode/icon-1.jpg") no-repeat top !important;
}
my-treenode-icon-2 {
background: url("/resources/img/treenode/icon-2.jpg") no-repeat top !important;
}
然后在迭代中使用图标名而不是路径(如果您在数据库中有一个路径,您可以对其最后一部分进行切片,并只获取图像名,该名称将是类名)
在没有css的情况下解决 我通过在treeNode中插入一个没有刻面的h:graphicImage来解决这个问题。它现在是我需要的,它是如何在以前的版本中完成的
<p:tree value="#{userFiltersBean.objectsTreeModel}" var="node" hideRootNode="true" styleClass="filtersTree"
selectionMode="checkbox">
<p:treeNode>
<h:graphicImage value="#{node.leafIcon}" />
<h:outputText value="#{node.text}" />
</p:treeNode>
</p:tree>
在没有css的情况下解决 我通过在treeNode中插入一个没有刻面的h:graphicImage来解决这个问题。它现在是我需要的,它是如何在以前的版本中完成的
<p:tree value="#{userFiltersBean.objectsTreeModel}" var="node" hideRootNode="true" styleClass="filtersTree"
selectionMode="checkbox">
<p:treeNode>
<h:graphicImage value="#{node.leafIcon}" />
<h:outputText value="#{node.text}" />
</p:treeNode>
</p:tree>
这是个好主意,但我的树的深度是动态的(每个环境都不同)。因此,我需要动态创建这些CSS类。你知道怎么做吗?这是个好主意,但我的树的深度是动态的(每个环境都不同)。因此,我需要动态创建这些CSS类。请问你知道怎么做吗?