1

当我在我的 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>

4

4 回答 4

0

放入<p:datatable>一个<h:form>组件中。

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

于 2012-07-29T08:35:35.833 回答
0

似乎问题是IE9。Firefox 的问题消失了。

于 2012-08-03T00:00:57.467 回答
0

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

于 2012-07-28T22:03:58.417 回答
0

如果数据表中存在另一个问题,例如在我的情况下,表是可编辑的,但我在添加它之后没有添加 editMode 属性,则可能会发生这种情况,选择也开始工作。

于 2018-04-18T15:46:29.607 回答