2013-12-10 28 views
0

当我运行页面时,我的DataTable出现问题,所有行都被自动选中。有人可以告诉我问题在哪里吗?我没有想法如何解决这个..primefaces datatable开始后选择的所有行

我Datatble页面前请先

<ui:composition template="../lecturerTemplates/layout.xhtml" 
    xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:f="http://java.sun.com/jsf/core" 
    xmlns:h="http://java.sun.com/jsf/html" 
    xmlns:ui="http://java.sun.com/jsf/facelets" 
    xmlns:p="http://primefaces.org/ui"> 
    <ui:define name="content"> 
     <h:form id="form"> 
      <p:growl id="messages" showDetail="true" /> 
      <p:contextMenu for="dataTable"> 
       <p:menuitem value="Delete" update="dataTable" 
        icon="ui-icon-close" actionListener="#{examMB.deleteExam}" /> 
      </p:contextMenu> 
      <p:dataTable id="dataTable" var="exam" styleClass="DataTableUsers" 
       value="#{examMB.examList}" rows="5" 
       rowKey="#{examMB.exam_id}" selection="#{examMB.selectedExam}" 
       selectionMode="single" editable="true" paginator="true" 
       paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" 
       rowsPerPageTemplate="5,10,15"> 
       <p:ajax event="rowEdit" listener="#{examMB.onEdit}" 
        update=":form:messages, :form:dataTable" /> 
       <p:column sortBy="name" filterBy="name" id="name" headerText="Name"> 
        <h:outputText value="#{exam.name}" /> 
       </p:column> 

       <p:column sortBy="subject" id="subject" 
        headerText="Subject"> 

        <h:outputText value="#{exam.subject}" /> 

       </p:column> 
       <p:column sortBy="examStart" id="examStart" 
        headerText="Exam Start"> 
        <h:outputText value="#{exam.examStart}" /> 
       </p:column> 
       <p:column sortBy="examStop" id="examStop" 
        headerText="Exam Stop"> 
        <h:outputText value="#{exam.examStop}" /> 
       </p:column> 
       <p:column headerText="Informations"> 
        <h:outputText value="#{exam.info}" /> 
       </p:column> 
       <p:column headerText="Ratings"> 
        <p:cellEditor> 
         <f:facet name="output"> 
          <h:outputText value="#{exam.ratings}" /> 
         </f:facet> 
         <f:facet name="input"> 
          <h:inputText value="#{exam.ratings}" /> 
         </f:facet> 

        </p:cellEditor> 
       </p:column> 
       <p:column style="width:6%" headerText="Edit"> 
        <p:rowEditor /> 
       </p:column> 

      </p:dataTable> 
     </h:form> 
    </ui:define> 
</ui:composition> 

的感谢! tommy!

+0

什么'examMB.selectedExam'在支持bean初始化? – kolossus

回答

4

我想你不明白'rowKey'是做什么的。

您必须为'rowKey'指定一个唯一的非空属性以使选择工作。

更改此

value="#{examMB.examList}" var="exam" rowKey="#{examMB.exam_id}" 

这个

value="#{examMB.examList}" var="exam" rowKey="#{exam.id}" 
相关问题