【问题标题】:How do I present a RichFaces tree with a specific node already expanded如何呈现已展开特定节点的 RichFaces 树
【发布时间】:2011-02-02 10:22:08
【问题描述】:

我有一个显示 RichFaces Treeview 的 JSF 页面,该页面来自支持 bean 中生成的 TreeNodeImpl 模型。

现在我希望页面最初显示为展开/选中的特定节点。 最好从后台 bean 控制这个扩展(没有 javascript 魔法)

在backing bean初始化的时候已经生成了整棵树

这可能吗?我看到提到 TreeState,这是要走的路吗?

【问题讨论】:

    标签: jsf treeview richfaces


    【解决方案1】:

    <rich:tree> 有一个名为 adviseNodeOpened (check here) 的属性

    它应该包含一个javax.el.MethodExpression。目标方法签名必须匹配

    java.lang.Boolean adviseNodeOpened(org.richfaces.component.UITree)
    

    这被记录为:

    MethodBinding 指向一个接受 org.richfaces.component.UITree 并返回 java.lang.Boolean 类型的方法。如果返回值为:java.lang.Boolean。 TRUE,扩展特定树节点; java.lang.Boolean.FALSE,特定的treeNode被折叠; null,特定的treeNode保存当前状态

    【讨论】:

    • 谢谢!这对我有用。因为我只希望它在第一次加载时以特定方式扩展,所以我不得不添加一些额外的逻辑,但这没问题,我只是添加了一些代码,它返回方法参数的“isExpanded()”的值案子。我还在方法参数上使用了“getRowData()”来提取相关节点的数据。
    • 我的要求略有不同,我有一个与树关联的上下文菜单,当我单击菜单时,它应该导航到其他页面,但树会按原样展开。但就我而言,它崩溃了如何克服这个问题?谢谢你的帮助..
    • @Sitra Arasu 抱歉,我已经有一年没用过richfaces了,所以我记不太清了。也许你可以问另一个问题。
    猜你喜欢
    • 2019-08-30
    • 1970-01-01
    • 2021-01-19
    • 1970-01-01
    • 2011-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多