2013-12-18 2 views
0

У меня есть DataTable, в котором первый Колм является удаление и последний Колм по умолчанию флажок, Я хочу, чтобы отключить удаления commandlink, когда по умолчанию проверяетсяотключить commandLink когда флажок по умолчанию проверяется

<p:dataTable value="#{itemRelationshipBean.selectedItemsList}" var="selectedItem" styleClass="selected_item_table"> 
       <p:column styleClass="delete" headerText="#{msg['item.relationship.delete.column']}"> 
        <h:commandLink styleClass="cross_icon"> 
         <p:ajax immediate="true" event="click" update=":relationshipForm:selectedItemsPanel" 
           listener="#{itemRelationshipBean.updateRelatedItemsList(true,selectedItem.itemId,selectedItem.itemName)}" 
           process="@this" onstart="loadingDialog.show();" 
           oncomplete="loadingDialog.hide();addCSS();"/>      
        </h:commandLink> 
       </p:column> 
       <p:column headerText="Item Name">#{selectedItem.itemName}</p:column> 
       <p:column styleClass="variants" headerText="#{msg['item.relationship.variants.column']}"> 
        <h:selectOneMenu value="#{selectedItem.relationId}" style="width:80px; font-size:12px;" id="selectedCategoryId" styleClass="category"> 
         <f:selectItem itemValue="#{null}" itemLabel="Select" /> 
         <f:selectItems value="#{itemRelationshipBean.selRelationVariants}" var="relVariant" itemLabel="#{relVariant.relationForm}" 
         itemValue="#{relVariant.relationId}" /> 
         <f:ajax /> 
        </h:selectOneMenu> 
       </p:column> 
       <p:column styleClass="default" headerText="#{msg['item.relationship.is.default.column']}"> 

        <h:selectBooleanCheckbox id="checkBoxDefault" value="#{selectedItem.defaultVal}" onclick="dataTableSelectOneRadio(this);" disabled="true"> 
        <f:ajax/> 
        </h:selectBooleanCheckbox> 
       </p:column> 
      </p:dataTable> 

ответ

0

Используйте p:commandLink вместо этого, который предоставляет атрибут disabled из коробки:

<p:commandLink styleClass="cross_icon" disabled="#{selectedItem.defaultVal}" /> 
0

Для простоты можно использовать commandLink и selectBooleanCheckbox из Primefaces (как уже упоминалось Xtreme Байкер).

Я заметил, что ваш selectBooleanCheckbox установлен быть отключен (отключен = «истина»). Это предотвратит обновление модели для этого компонента, и значение selectedItem.defaultVal никогда не может быть изменено.

Вы, возможно, потребуется пересмотреть dataTableSelectOneRadio функцию и сделать соответствующие изменения (обратите внимание, что OnClick не определен в компоненте Primefaces's selectBooleanCheckbox);

Вот мое предложение для вашего DataTable:

<p:dataTable value="#{itemRelationshipBean.selectedItemsList}" var="selectedItem" styleClass="selected_item_table"> 
    <p:column styleClass="delete" headerText="#{msg['item.relationship.delete.column']}"> 
     <p:commandLink id="deleteCl" styleClass="cross_icon" process="@this" immediate="true" update=":relationshipForm:selectedItemsPanel" 
         actionListener="#{itemRelationshipBean.updateRelatedItemsList(true,selectedItem.itemId,selectedItem.itemName)}" 
         onstart="loadingDialog.show();" oncomplete="loadingDialog.hide();addCSS();" /> 
    </p:column> 
    <p:column headerText="Item Name">#{selectedItem.itemName}</p:column> 
    <p:column styleClass="variants" headerText="#{msg['item.relationship.variants.column']}"> 
     <h:selectOneMenu value="#{selectedItem.relationId}" style="width:80px; font-size:12px;" id="selectedCategoryId" styleClass="category"> 
      <f:selectItem itemValue="#{null}" itemLabel="Select" /> 
      <f:selectItems value="#{itemRelationshipBean.selRelationVariants}" var="relVariant" itemLabel="#{relVariant.relationForm}" 
          itemValue="#{relVariant.relationId}" /> 
      <f:ajax /> 
     </h:selectOneMenu> 
    </p:column> 
    <p:column styleClass="default" headerText="#{msg['item.relationship.is.default.column']}"> 
     <p:selectBooleanCheckbox id="checkBoxDefault" value="#{selectedItem.defaultVal}"> 
      <p:ajax process="@this" update="deleteCl" /> 
     </p:selectBooleanCheckbox> 
    </p:column> 
</p:dataTable> 
Смежные вопросы