I have a demo on some trinidad features, one of the examples is exactly that. I can hand you offline if the following is not enough. In [1] there are also useful informations on the dialog
-Matthias [1] http://incubator.apache.org/adffaces/devguide/index.html code------------------------------------------- customers.xhtml (the table): <tr:document xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:tr="http://myfaces.apache.org/trinidad" title="Dialog Framework"> <tr:form> <tr:table id="data" border="2" binding="#{cm.table}" var="customer"> <tr:column> <tr:outputText value="#{customer.companyName}" /> </tr:column> <tr:column> <tr:outputText value="#{customer.contactPerson}" /> </tr:column> <tr:column> <tr:outputText value="#{customer.phone}" /> </tr:column> <tr:column> <tr:commandLink text="edit" action="dialog:edit" returnListener="#{cm.handleReturn}" partialSubmit="true" useWindow="true"> <tr:setActionListener from="#{customer}" to="#{pageFlowScope.currentCustomer}" /> </tr:commandLink> </tr:column> </tr:table> </tr:form> </tr:document> edit1.xhtml (first page in wizard): <tr:document xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:tr="http://myfaces.apache.org/trinidad" title="Dialog Framework"> <tr:form> <tr:messages/> <tr:panelHeader text="Enter your username and your password"> <tr:panelFormLayout> <tr:inputText label="Company name" id="input1" value="#{processScope.currentCustomer.companyName}" /> <tr:inputText label="contact person" id="input2" value="#{processScope.currentCustomer.contactPerson}" /> </tr:panelFormLayout> </tr:panelHeader> <tr:commandButton id="button1" text="next" action="second" /> </tr:form> </tr:document> edit2.xhtml (second page in wizard): <tr:document xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:tr="http://myfaces.apache.org/trinidad" title="Dialog Framework"> <tr:form> <tr:messages/> <tr:panelHeader text="Enter your name and your favorite color"> <tr:panelFormLayout> <tr:inputText label="Phone" id="input1" value="#{processScope.currentCustomer.phone}" /> </tr:panelFormLayout> </tr:panelHeader> <tr:commandButton text="Save" action="#{cm.save}"> </tr:commandButton> </tr:form> </tr:document> and my customer manager bean (the #{cm} bb ): package net.wessendorf.bob.faces.users; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.apache.myfaces.trinidad.component.UIXTable; import org.apache.myfaces.trinidad.context.RequestContext; import org.apache.myfaces.trinidad.event.ReturnEvent; public class CustomerManager { private List customers; public void handleReturn(ReturnEvent event) { this.table.setValue(customers); RequestContext afContext = RequestContext.getCurrentInstance(); afContext.addPartialTarget(table); } public String save() { Customer cm = (Customer)RequestContext.getCurrentInstance().getPageFlowScope().get("currentCustomer"); RequestContext.getCurrentInstance().returnFromDialog(cm, null); RequestContext.getCurrentInstance().getPageFlowScope().clear(); return null; } public Customer getUserById(int id) { Customer ret = null; for (Iterator iter = customers.iterator(); iter.hasNext();) { Customer element = (Customer) iter.next(); if(element.getId() == id) ret= element; } return ret; } private UIXTable table; public UIXTable getTable() { return table; } public void setTable(UIXTable table) { this.table = table; this.table.setValue(this.customers); } public CustomerManager() { this.customers = new ArrayList(); Customer c1 = new Customer(); c1.setId(1); c1.setCompanyName("A Inc"); c1.setContactPerson("Mr Smith"); c1.setPhone("510 43234 232"); c1.setStreet("Bush Street"); Customer c2 = new Customer(); c2.setId(2); c2.setCompanyName("B Inc"); c2.setContactPerson("Mr. Walterson"); c2.setPhone("650 23433 873"); c2.setStreet("Mc Nothing Bl. 12"); Customer c3 = new Customer(); c3.setId(3); c3.setCompanyName("C Corp."); c3.setContactPerson("Mrs. Johnson"); c3.setPhone("650 23433 873"); c3.setStreet("Spring Way 12"); this.customers.add(c1); this.customers.add(c2); this.customers.add(c3); } public List getCustomers() { return customers; } public void setCustomers(List customers) { this.customers = customers; } } On 12/13/06, Meyer, Stefan <[EMAIL PROTECTED]> wrote:
I am using a trinidad table and want to launch a dialog to edit the detail of the entities represented by the columns. The launching button is a commandButton with partialSubmit set to true. When returning from the Dialog the column that displays the possibly modified name of the edited entity is not updated althoug I set the partialTriggers attribute. I tries to set the id of the button (and the partialTriggers) to a constant and to a column dependent el expression. It does not work. Is there a limitation because the columns are stamped components? How do I trigger a partial update of the whole table upon returning?
-- Matthias Wessendorf http://tinyurl.com/fmywh further stuff: blog: http://jroller.com/page/mwessendorf mail: mwessendorf-at-gmail-dot-com

