incubator-adffaces-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Henk Vanhoe <Henk.Van...@kava.be>
Subject Trinidad table - remove a row
Date Tue, 13 Feb 2007 10:05:31 GMT
Hi,

I'm trying to create a (trinidad) table in which it is possible to 
remove a row. Next to each row, a "delete"-button is displayed. However, 
each time I push the delete button, a wrong row is deleted (for 
instance, when I push the delete button next to the first row, the third 
row is removed)! Does anyone have an idea why this may be happening???

Regards,
Henk

JSF-code:

                <tr:table var="row" value="#{tableBean.smallTable}" 
rowBandingInterval="1"
                    binding="#{tableBean.smallTableBinding}">
                    <tr:column sortProperty="naam" sortable="true">
                        <f:facet name="header">
                            <tr:outputText value="Naam" />
                        </f:facet>
                        <tr:inputText id="voornaam"    value="#{row.naam}"/>
                    </tr:column>
                    <tr:column sortProperty="voornaam" sortable="true">
                        <f:facet name="header">
                            <tr:outputText value="Voornaam" />
                        </f:facet>
                        <tr:inputText value="#{row.voornaam}" />
                    </tr:column>
                    <tr:column sortProperty="leeftijd" sortable="true">
                        <f:facet name="header">
                            <tr:outputText value="Leeftijd" />
                        </f:facet>
                        <tr:inputText value="#{row.leeftijd}" />
                    </tr:column>
                    <tr:column>
                      <tr:commandLink id="removeContact"
                        text="Remove"
                        actionListener="#{tableBean.removeContact}"
                        immediate="true" />
                    </tr:column>
                </tr:table>

Managed bean:

public class TableBean {
    private List<Contact> smallTable;
    private UIXTable smallTableBinding;
   
    public TableBean() {
        this.smallTable =  new ArrayList<Contact>();

        Contact c1 = new Contact();
        c1.setNaam("Vandam");
        c1.setVoornaam("Alain");
        c1.setLeeftijd("33");
        smallTable.add(c1);
           
        Contact c2 = new Contact();
        c2.setNaam("Tanghe");
        c2.setVoornaam("Sammy");
        c2.setLeeftijd("36");
        smallTable.add(c2);
       
        Contact c3 = new Contact();
        c3.setNaam("Laplasse");
        c3.setVoornaam("Bucky");
        c3.setLeeftijd("42");
        smallTable.add(c3);
    }
   
    public void removeContact(ActionEvent event) throws Exception {
        logger.info("Inside TableBean.removeContact()");

        Contact contact = (Contact) smallTableBinding.getRowData();
        Collection contacten = (Collection) smallTableBinding.getValue();
        contacten.remove(contact);
    }

    //Getters, setters and other methods...
}

faces-config:

  <managed-bean>
    <managed-bean-name>tableBean</managed-bean-name>
    <managed-bean-class>be.kava.jsfdemo.table.TableBean</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
  </managed-bean>


Mime
View raw message