【问题标题】:Datatable selection not working数据表选择不起作用
【发布时间】:2012-07-27 02:20:39
【问题描述】:

当我在我的 primefaces 数据表中选择一行时,行高亮显示,但未调用选择事件并且所选行数据不会发送到它。我还注意到我的 Eclipse 调试器似乎只是挂在 PrimeFaces 上,还有其他人注意到这一点吗?下面是我的 .xhtml。

 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml"  
       xmlns:ui="http://java.sun.com/jsf/facelets" 
       xmlns:h="http://java.sun.com/jsf/html"
       xmlns:f="http://java.sun.com/jsf/core"
       xmlns:p="http://primefaces.org/ui" 
     >
<h:head>
    <h:outputStylesheet library="css" name="table-style.css"  />
</h:head>

<h:body>
<center>

<p:dataTable var="user" value="#{customer.getCustomerList()}"  
         selection="#{customer.selectedCustomer}" selectionMode="single"  
         rowSelectListener="#{custmoer.onUserSelect}" onRowSelectUpdate="userUpdateForm"
          onRowUnselectUpdate="userUpdateForm"
         paginator="true" rows="5" rowKey="#{user.customerID}" >

            <p:column>  
                <f:facet name="header">  
                    <h:outputText value="Id" />  
                </f:facet>  
                <h:outputText value="#{user.customerID}" />  
             </p:column>  

             <p:column > 

             <f:facet name="header">  

                <h:outputText value="Name" />  

             </f:facet>  

             <h:outputText value="#{user.name}" />  

             </p:column>  
            <p:column >  

             <f:facet name="header">  

                <h:outputText value="Address" />  

             </f:facet>  

             <h:outputText value="#{user.address}" />  

             </p:column>  

     </p:dataTable>  

    <p:inputText id="userUpdateForm" value="#{customer.selectedCustomer.name}" /> 
    </h:form>
    </center>
</h:body>

【问题讨论】:

    标签: jsf jsf-2 primefaces


    【解决方案1】:

    您的 onXXX 属性绑定到不透明字符串,而它们应该绑定到 javascript 片段(方法调用或执行某些代码的片段)。我猜 javascript 正在引发异常,并且没有任何内容被发送到服务器,因为在浏览器中执行暂停。

    【讨论】:

    • 好的,你能举个例子吗?
    【解决方案2】:

    &lt;p:datatable&gt; 放入&lt;h:form&gt; 组件中。

    这可能只是您帖子中缺少的&lt;h:form&gt; 开始标签(包括&lt;/h:form&gt; 结束标签)。但是忘记将数据发布组件包装到 &lt;h:form&gt; 中是一个常见错误,会导致您描述的症状。

    【讨论】:

      【解决方案3】:

      似乎问题出在 IE9 上。 Firefox 的问题消失了。

      【讨论】:

        【解决方案4】:

        如果数据表中存在其他问题,例如在我的情况下,表是可编辑的,但我没有添加 editMode 属性后我添加它,选择也开始工作。

        【讨论】:

          猜你喜欢
          • 2013-09-02
          • 2015-06-05
          • 2020-04-03
          • 2014-08-30
          • 1970-01-01
          • 1970-01-01
          • 2013-06-23
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多