Всем привет! Использую контролы primefaces, а именно dataTable для редактирования записей. Скопировал с оф сайт их пример и подстроил под себя:
| Код | <h:form> <p:growl id="growl" showDetail="true" /> <p:dataTable var="cat" value="#{category.listCategory}" id="catList" rowEditListener="#{category.editCategory}"> <f:facet name="header"> In-Cell Editing </f:facet> <p:column headerText="Category" style="width:200px"> <p:cellEditor> <f:facet name="output"> <h:outputText value="#{cat.category}" /> </f:facet> <f:facet name="input"> <p:inputText value="#{cat.category}" style="width:100%"/> </f:facet> </p:cellEditor> </p:column> <p:column headerText="Description" style="width:200px"> <p:cellEditor> <f:facet name="output"> <h:outputText value="#{cat.description}" /> </f:facet> <f:facet name="input"> <p:inputText value="#{cat.description}" style="width:100%"/> </f:facet> </p:cellEditor> </p:column> <p:column headerText="Options"> <p:rowEditor /> </p:column> </p:dataTable> </h:form>
|
Собственно ничего сложного ... как указано в листенере из бина category вызоветься метод:
| Код | public void editCategory(RowEditEvent ev){ Category cat = (Category)ev.getObject(); if(cat != null){ this.categoryBo.saveOrUpdate(cat); FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, MessageManager.getMessage("com.messages.success"), MessageManager.getMessage("com.admin.part.category.label.success"))); } else { FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, MessageManager.getMessage("com.messages.error"), MessageManager.getMessage("com.messages.error.fields.required"))); } }
|
Проблема в самом контроле, когда жмешь edit строка переходить в режим редактирования, а вот кнопки ok и cancel просто не реагирют на нажатие =( хотя код аналагичен тому что приведен у них сайте.
Кто нибудь сталкивался с такой проблемой ? |