Я использую редактируемые данные простых чисел и предоставляю кнопки стиля проверки как скрытые. Я не использую кнопку проверки редактирования простых лиц. Я удалил его и добавил только кнопки NEW и SAVE .
Когда я нажимаю кнопку NEW , новая строка добавляется в datatable, но модель не установлена, потому что обработчик событий строки не сработал, тогда как я мог сделать это до того, как убрать кнопку редактирования.
В результате я хочу нажать кнопку NEW и добавлю новые значения в таблицу последней установленной модели, прежде чем нажать кнопку SAVE как вызов строки обработчик событий
.ui-icon-check {
visibility: hidden;
}
Я хочу вызывать эту функцию по нажатию новой кнопки
public void onRowCancel(RowEditEvent event) {
FacesMessage msg = new FacesMessage("Edit Cancelled", String.valueOf(((EmdValidation) event.getObject()).getAirlineNumericcode()));
FacesContext.getCurrentInstance().addMessage(null, msg);
}
DataTable выглядит следующим образом:
<p:dataTable id="validationTable" var="validation" rows="10"
widgetVar="validationWidget"
value="#{view.validationTable}" editable="true">
CommandButton:
<p:commandButton value="NEW" action="#{view.onAddNew()}" update=":form:validationTable"
onclick="PF('validationWidget').paginator.setPage(PF('validationWidget').paginator.cfg.pageCount - 1)"
oncomplete="jQuery('.ui-datatable-data tr').last.find('span.ui-icon-pencil').each(function(){jQuery(this).click()})">
сохранить действие для новой модели значения
<p:column headerText="Save">
<p:commandButton icon="fa fa-save" update="validationTable" actionListener="#{view.saveAction(validation)}"/>
</p:column>
<p:column headerText="Edit" style="width:30px">
<p:rowEditor />
</p:column>