Kullanıcının tablodaki satır verilerini düzenlemesine olanak tanıyan yüz yüzlerinin özelliğini kullanmaya çalışıyorum. Bu bağlantıyı başardım. o: Ben düzenleme kullanıcıyı derkenevent.getObject() satır içi düzenlemede, ilk değerleri çekirdek değerine gönderir
http://www.primefaces.org/showcase/ui/datatableRowEditing.jsf
bean.It gönderilmez girilir yeni değerler hala sadece eski değerlerini gösterir.
JSF Benim kod: fasulye
<p:dataTable value="#{mybean.userList}"
var="item"
id="dataTab"
widgetVar="usersTable"
tableStyleClass="data" paginator="true" rows="5"
filteredValue="#{userController.filteredUsers}"
editable="true"
rowKey="#{item}">
<p:ajax event="rowEdit" listener="#{mybean.onEdit}" update=":userForm:growl" />
<p:ajax event="rowEditCancel" listener="#{mybean.onCancel}" update=":userForm:growl" />
<f:facet name="header">
<p:outputPanel>
<h:outputText value="Search all fields:" />
<p:inputText id="globalFilter" onkeyup="('usersTable').filter()" style="width:150px" />
</p:outputPanel>
</f:facet>
<p:column sortBy="#{item.firstName}" filterBy="#{item.firstName}"
filterMatchMode="startsWith">
<p:cellEditor>
<f:facet name="header">
<h:outputText value="First Name" />
</f:facet>
<f:facet name="output">
<h:outputText value="#{item.firstName}" />
</f:facet>
<f:facet name="input">
<p:inputText value="#{item.firstName}" style="width:100%"/>
</f:facet>
</p:cellEditor>
</p:column>
<p:column sortBy="#{item.lastName}" filterBy="#{item.lastName}" filterMatchMode="startsWith">
<p:cellEditor>
<f:facet name="header">
<h:outputText value="Last Name" />
</f:facet>
<p:column headerText="Update" style="width:6%">
<p:rowEditor />
</p:column>
</p:dataTable>
Kodum: ui listeyi almak için fasulye
public String onEdit(RowEditEvent event) {
User user=(User)event.getObject());
user.getFirstName();
}
kodu:
public List<UserBean> getUsersList(){
List<UserBean> retval = new ArrayList<>();
for (Object[] tuple : myFacade.getUserList()) {
UserBean ub = new UserBean();
ub.setFirstName((String) tuple[0]);
ub.setLastName((String)tuple[1]);
ub.setEmailAddress((String)tuple[2]);
ub.setOfficeNumber((String)tuple[3]);
ub.setRole((String)tuple[4]);
retval.add(ub);
}
return retval;
}
denedim Bazı yayınlarda verilen öneriler ancak işe yaramadı.Kullanıcı bana yeni değerleri nasıl alabilirim? lassfish 4.0, primefaces 3.5.
Diğer olası sorunların yanı sıra, kodunuz JSF etiketlerini düzgün şekilde kapatmaz. Bu bir kopya ve yapıştırma sorunu muydu? – patstuart
, dönüşüm/doğrulama başarısız gibi görünüyor. Bunu doğrulamak için formunuza bir ileti bileşeni ekleyebilir misiniz? – kolossus
@patstuart evet sadece bir kopyala yapıştır hatasıdır ve jsf sayfamda iyidir. – Valla