2015-09-16 3 views
0

У меня есть только для чтения ace:datatable состоит из 4-х колонокКак сделать один столбец редактируемым в a readonly ace: datatable?

Я хотел бы сделать четвертый столбец «Process Limit» для редактирования в этом DataTable

Могу ли я сделать это?

Это код XHTML:

<ace:dataTable value="#{bankProcessLimitManagement.bankProcessLimitBean}" 
        var="name" style="width: 50% !important;" id="namesTable" 
        rowSelectListener="#{bankProcessLimitManagement.rowSelectListener}" 
        rowUnselectListener="#{bankProcessLimitManagement.rowDeSelectListener}" 
        selectionMode="single" paginator="true" rows="10"> 
        <ace:column headerText="LatinName"> 
         <h:outputText value="#{name.latinName}"></h:outputText> 
        </ace:column> 
        <ace:column headerText="Arabic Name"> 
         <h:outputText value="#{name.arabicName}"></h:outputText> 
        </ace:column> 
        <ace:column headerText="Process Type"> 
         <h:outputText value="#{name.processType}"></h:outputText> 
        </ace:column> 
        <ace:column headerText="Process Limit"> 
         <h:outputText value="#{name.limit}"></h:outputText> 
        </ace:column> 
</ace:dataTable> 

Это корреспондент боб:

@ManagedBean(name="bankProcessLimitManagement") 
@ViewScoped 
public class BankProcessLimitManagement { 
    // Render for the datatable 
    private boolean renderTable = false; 
    // List linked to the datatable 
    private List<BankProcessLimitBean> bankProcessLimitBean; 
    // Selected Row 
    private BankProcessLimitBean selectedBankProcessLimit; 
    public void rowSelectListener(SelectEvent event) { 
     selectedBankProcessLimit = (BankProcessLimitBean) event.getObject(); 
    } 
    public void rowDeSelectListener(UnselectEvent event) { 
     selectedBankProcessLimit = null; 
    } 
    // Getters 
    public List<BankProcessLimitBean> getBankProcessLimitBean() { return bankProcessLimitBean; } 
    public boolean isRenderTable() { return renderTable; } 
    public BankProcessLimitBean getSelectedBankProcessLimit() { return selectedBankProcessLimit; } 

    // Setters 
    public void setRenderTable(boolean renderTable) { this.renderTable = renderTable; } 
    public void setBankProcessLimitBean(List<BankProcessLimitBean> bankProcessLimitBean) { this.bankProcessLimitBean = bankProcessLimitBean; } 
    public void setSelectedBankProcessLimit(BankProcessLimitBean selectedBankProcessLimit) { this.selectedBankProcessLimit = selectedBankProcessLimit; }  
} 

Заранее спасибо

ответ

1

Как сказал в documentation вы должны сделать:

<ace:column headerText="Process Limit"> 
    <ace:cellEditor> 
     <f:facet name="output"> 
      <h:outputText value="#{name.limit}"/> 
     </f:facet> 
     <f:facet name="input"> 
      <h:inputText value="#{name.limit}"/> 
     </f:facet> 
    </ace:cellEditor> 
</ace:column> 

Вам нужно, конечно, добавить форму, которая будет обертывать вашу таблицу, и включить кнопку или ссылку для отправки данных.