【问题标题】:ADF Partial page renderingADF 部分页面渲染
【发布时间】:2018-06-05 09:11:27
【问题描述】:

我有一段 jspx 代码,我想在检查 selectBooleanCheckbox 时有条件地在其中渲染(使其可见)一个 selectOneRadio 组件。第一次选中复选框时,会呈现 selectOneRadio。但是当我取消选中时,单选按钮不会变得不可见。

我在复选框代码中有一个valueChangeListener 来执行此渲染。但是当取消选中复选框时,这个监听器不会被触发。

<af:selectBooleanCheckbox 
    id="sbc2"                                                                        
    text="#{viewcontrollerBundle.CB_TYPE_VIDEO_CHAT}"                                                                           
    selected="#{row.videoChatEnabled}"                                                                          
    disabled="#{row.videoChatEnabled}"                                                                                                                                                           
    valueChangeListener="#{pageFlowScope.servicesbean.ValueChangeListener}"                                                                          
    binding="#{pageFlowScope.servicesbean.videoChatBinding}"
    autoSubmit="true"                                                                   
/>

<af:selectOneRadio 
    id="videoDirection2"
    visible="false"
    value="#{bindings.videoDirection.inputValue}"
    contentStyle="margin-left:0px"                                                                    
    immediate="true">

有谁知道为什么这种行为很普遍?

【问题讨论】:

  • 你能改进你发布的代码的格式吗?
  • ValueChangeListener 中的代码是什么?
  • 为 videoDirection2 添加部分触发器

标签: oracle-adf


【解决方案1】:

您正在尝试做的事情需要部分刷新以渲染​​/取消渲染元素。

示例如下:

          <af:panelGroup partialTriggers="checkid">
            <af:commandButton text="moo" rendered="#{backing_1.check.value}"
                              partialTriggers="checkid"/>
          </af:panelGroup>
          <af:selectBooleanCheckbox text="selectBooleanCheckbox 1"
                                    label="Label 1"
                                    binding="#{backing_1.check}" id="checkid"
                                    autoSubmit="true"/>

上面的例子根据复选框显示/隐藏按钮。请注意,该按钮包含在面板中以帮助进行部分刷新。

引用自:https://community.oracle.com/thread/629222?start=0&tstart=0

【讨论】: