2013-11-23 6 views
1

행 편집으로 dataTable을 가지고 있지만 셀 중 하나를 편집하지 않아도됩니다. (사용자. 사용자 이름). 어떻게하면 프라임면에서이 작업을 수행 할 수 있습니까? 이것이 가능한가? p : cellEditor을 하나의 셀에만 제거하려고 시도하지만 DataTable에서 사용할 때이 열은 비어 있기 때문에 타블렛에서는 작동하지 않습니다.primefaces - 하나의 셀이없는 행을 편집하십시오.

감사합니다.

내 코드 :

<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="#{userMB.deleteUser}" /> 
     </p:contextMenu> 
     <p:dataTable id="dataTable" var="user" styleClass="DataTableUsers" 
      value="#{userMB.userList}" paginator="true" rows="5" 
      rowKey="#{user.user_id}" selection="#{userMB.selectedUser}" 
      selectionMode="single" filteredValue="#{userMB.filteredUsers}" 
      editable="true" 
      paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" 
      rowsPerPageTemplate="5,10,15"> 
      <p:ajax event="rowEdit" immediate="true" listener="#{userMB.onEdit}" 
       update=":form:messages, :form:dataTable" process="@this" /> 
      <p:column sortBy="name" filterBy="name" id="name" headerText="Name"> 
       <p:cellEditor> 
        <f:facet name="output"> 
         <h:outputText value="#{user.name}" /> 
        </f:facet> 
        <f:facet name="input"> 
         <p:inputText value="#{user.name}" required="true" 
          requiredMessage="Please Enter Name" 
          validatorMessage="Name is too short!"> 
          <f:validateLength minimum="2"></f:validateLength> 
         </p:inputText> 
        </f:facet> 
       </p:cellEditor> 
      </p:column> 
      <p:column sortBy="surname" filterBy="surname" headerText="Surname"> 
       <p:cellEditor> 
        <f:facet name="output"> 
         <h:outputText value="#{user.surname}" /> 
        </f:facet> 
        <f:facet name="input"> 
         <p:inputText value="#{user.surname}" required="true" 
          requiredMessage="Please Enter Surname!" 
          validatorMessage="Surname is too short!"> 
          <f:validateLength minimum="2"></f:validateLength> 
         </p:inputText> 
        </f:facet> 
       </p:cellEditor> 
      </p:column> 

      <p:column sortBy="username" filterBy="username" 
       headerText="Index number"> 
       <p:cellEditor> 
        <f:facet name="output"> 
         <h:outputText value="#{user.username}" /> 
        </f:facet> 
        <f:facet name="input"> 
         <h:inputText value="#{user.username}" /> 
        </f:facet> 
       </p:cellEditor> 
      </p:column> 

      <p:column sortBy="userDescription" filterBy="userDescription" 
       headerText="descript"> 
       <p:cellEditor> 
        <f:facet name="output"> 
         <h:outputText value="#{user.userDescription}" /> 
        </f:facet> 
        <f:facet name="input"> 
         <p:inputText value="#{user.userDescription}" required="true" 
          requiredMessage="Please Enter User Description" /> 
        </f:facet> 

       </p:cellEditor> 
      </p:column> 
      <p:column style="width:6%" headerText="Edit"> 
       <p:rowEditor /> 
      </p:column> 
      <f:facet name="footer"> 
       <p:commandButton value="New User" oncomplete="newUserDialog.show()" 
        icon="ui-icon-star" title="Creates new user" /> 

      </f:facet> 
     </p:dataTable> 
    </h:form> 

답변

3

그냥 <h:outputText>

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

user.username 값을 보유하고있는 구성 요소를 변경하고 값이 읽기 전용이됩니다.

+0

도움을 주셔서 감사합니다. – tommy

+0

반갑습니다. –

관련 문제