【问题标题】:Unable to link rich:panel scroll bar to rich:tree无法将rich:panel 滚动条链接到rich:tree
【发布时间】:2012-11-15 14:18:48
【问题描述】:

使用:JSF 1.2 + RichFaces 3.3.3

我们无法将rich:panel 的滚动条链接到rich:tree 组件。选择或突出显示节点发生在 rich:tree 中。但是我们无法将滚动条与突出显示的节点链接,因此即使选择溢出 div,滚动条也不会相应移动,因此突出显示的节点对用户不可见。

如果我们手动向下滚动到特定节点,我们可以看到该节点被突出显示。

我们已尝试以下步骤来解决,但问题仍未解决

  1. 在每次向下或向上箭头按下时调用一个 js,并使用以下方法将主 div 的滚动条移动固定高度 container.scrollTop= 16.

  2. 传递突出显示的节点并使用 treeItem.scrollIntoView(true) 滚动到该节点的视图中; 和 container.scrollTop。

  3. 试图找出高亮的节点,然后传给js,但是发现前端很难访问高亮的节点。

在这个问题上挣扎了 2 天多。

如何解决这个问题?我们走投无路了吗?

提前感谢您的帮助。 拉梅什

代码sn-p:

        <div class="treespaceheight" >
    <rich:panel styleClass="treeStyleClass">

        <rich:tree styleClass="treewidth" id="tree" 
            iconCollapsed="../../images/ImgNodePlus.gif"    
            iconExpanded="../../images/ImgNodeMinus.gif"                    
            reRender="selectedNode" switchType="client"
            ajaxSubmitSelection="true"
            value="#{commoncontroller.quotevo.quotetreeNode}"                           
            ondblclick="setNodeToggle(event);" oncontextmenu="false"   
            adviseNodeOpened="#{commoncontroller.quotevo.adviseNodeOpened}" 
            adviseNodeSelected="#{commoncontroller.quotevo.adviseNodeSelected}" >                                                                       
        </rich:tree>
    </rich:panel>

    </div>

【问题讨论】:

    标签: jsf richfaces


    【解决方案1】:

    让我们尝试通过 css 类获取选中的节点。 我认为你可以使用

    jQuery('.rich-tree-node-selected')
    

    获取该节点! 或者您可以通过编辑树属性“selectedClass”来设置自己的类。

    【讨论】:

      猜你喜欢
      • 2020-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-06
      • 2011-05-18
      • 2012-12-02
      • 1970-01-01
      相关资源
      最近更新 更多