【问题标题】:Commandlink inside dataList is not workingdataList 中的 Commandlink 不起作用
【发布时间】:2013-02-12 08:25:23
【问题描述】:
               <h:form id="myform">
                    <h:panelGrid columns="1" cellpadding="10">
                        <p:selectOneMenu id="suburbs" value="#{cityBean.cityName}" style="width: 200px" >  
                            <f:selectItems value="#{cityBean.cityNames}" style="width: 200px"/> 
                            <p:ajax update="@form"  
                                    listener="#{cityBean.handleCityChange}" />
                        </p:selectOneMenu>

                        <p:dataTable   style="padding: 20px"  value="#{cityBean.getSchoolList()}" var="school" id="schools"  >  
                            <f:facet name="header">  
                                Okullar 
                            </f:facet> 
                            <p:column>
                                <p:commandLink async="false" process="@all"  value="#{school.schoolName}"  update=":tabv"  title="View Detail" action="#{cityBean.schoolAction(school.schoolId)}"/> 
                            </p:column>
                            <br></br>
                            <br></br>
                        </p:dataTable> 

                    </h:panelGrid>
                </h:form>

当第一个页面打开时,数据列表中有 3 个学校,这三个链接都在工作。当我选择另一个有 5 所学校的城市时,只有三个链接在工作,两个不工作。这个问题有什么解决办法吗?

【问题讨论】:

  • 也许你的意思是 process="@this",而不是 process="@all"

标签: jsf primefaces datalist commandlink


【解决方案1】:

您缺少 p:dataTable> 组件中的 rowKey 属性,因此我假设您使用的是 PrimeFaces 的早期版本,例如 2.2 版。

旧版本的 primefaces 存在已知错误,其中从 dataTable 中调用的 ajax 事件无法正确更新页面内容。

http://blog.primefaces.org/?p=2119

然而,更根本的问题可能比这更简单:

<p:commandLink ... update=":tabv" ... />

您有这个 commandLink 组件更新您从未提供过代码的 id。如果这里没有其他问题,就不可能说。同时,我建议您尝试使用 Javascript 在 dataTable 之外的 commandLink 或 commandButton 中调用点击事件,看看是否能解决您的问题。如果没有,那么您应该考虑升级到更新版本的 PrimeFaces。

【讨论】:

    【解决方案2】:

    我在使用 dataList 时遇到了同样的问题。这有帮助:

    <p:dataList type="definition"...
        <f:facet name="description">
        ...
    

    【讨论】:

      猜你喜欢
      • 2012-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多