数据表选择不起作用

时间:2012-07-28 19:53:02

标签: jsf jsf-2 primefaces

当我在我的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 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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