Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dataTable: backing bean doesn't recive ajax events #50

Open
wgualla opened this issue Aug 19, 2016 · 1 comment
Open

dataTable: backing bean doesn't recive ajax events #50

wgualla opened this issue Aug 19, 2016 · 1 comment

Comments

@wgualla
Copy link

wgualla commented Aug 19, 2016

Hi, I'd made this simple page (and it's simple back bean). The back bean methods (onDataSelect()/onSelectChanged()) are never called. Can anyone tell me what I'm doing wrong?

Thank you all.

My xhtml
`
<h:body>
<h:form id="form-id">

                <b:dataTable 
                  value="#{pruebaDataTable.datos}"
                  var="doc"
                  id="document-table-id"
                  page-length="5"
                  striped="true"
                  save-state="true"
                  searching="false"
                  border="false"
                  row-highlight="true"
                  lang="ES-es"
                  select="true" 
                  ajax="true"
                  onselect="ajax:PruebaDataTable.onDataSelect()"
                  paginated="false"
                  >

                  <b:dataTableColumn  
                      id="document-table-type-id"
                      label="Type"
                    orderable="false"
                    data-type="text"
                    >

                    <h:outputText id="document-table-nom-id" value="#{doc.id}" />
                  </b:dataTableColumn>
                  <b:dataTableColumn 
                        id="document-table-num-id"
                        label="Number"
                        orderable="false"
                                     >
                    <h:outputText id="document-table-numero-id" value="#{doc.codigo}" />
                  </b:dataTableColumn>

                  <b:dataTableColumn 
                        id="document-table-chk-id"
                        label="select"
                        orderable="false"
                                     >
                      <b:selectBooleanCheckbox 
                          id="document-table-select-id" 
                          value="#{doc.selected}" 
                          ajax="true" process="@this" update="@this" 
                          onchange="ajax:PruebaDataTable.onSelectChanged()" 
                          />
                  </b:dataTableColumn>

                </b:dataTable>

    </h:form>

</h:body>

`

My .java backbean.

`

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.enterprise.context.SessionScoped;
import javax.inject.Named;

/**
*

  • @author wgualla
    */
    @nAmed
    @SessionScoped
    public class PruebaDataTable implements Serializable {

    protected static List datos=new ArrayList<>();

    /**

    • @return the datos
      */
      public List getDatos() {
      return datos;
      }

    public void onDataSelect() {
    System.out.println("PruebaDataTable.onDataSelect, event recived!!!");
    }

    public void onSelectChanged(){
    System.out.println("PruebaDataTable.onSelectChanged, event recived!!!");
    }

    /**

    • @param aDatos the datos to set
      */
      public void setDatos(List aDatos) {
      datos = aDatos;
      }

    @PostConstruct
    public void init(){
    getDatos().add(new Datos(0,"000","desc 0"));
    getDatos().add(new Datos(1,"001","desc 1"));
    getDatos().add(new Datos(2,"002","desc 2"));
    getDatos().add(new Datos(3,"003","desc 3"));
    getDatos().add(new Datos(4,"004","desc 4"));
    }

    public static class Datos {

    protected int id;
    protected String codigo;
    protected String descripcion;
    protected boolean selected;
    
    public Datos(int id, String codigo, String descripcion){
        this.id=id;
        this.codigo=codigo;
        this.descripcion=descripcion;
    }
    /**
     * @return the id
     */
    public int getId() {
        return id;
    }
    
    /**
     * @param id the id to set
     */
    public void setId(int id) {
        this.id = id;
    }
    
    /**
     * @return the codigo
     */
    public String getCodigo() {
        return codigo;
    }
    
    /**
     * @param codigo the codigo to set
     */
    public void setCodigo(String codigo) {
        this.codigo = codigo;
    }
    
    /**
     * @return the descripcion
     */
    public String getDescripcion() {
        return descripcion;
    }
    
    /**
     * @param descripcion the descripcion to set
     */
    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }
    
    /**
     * @return the selected
     */
    public boolean isSelected() {
        return selected;
    }
    
    /**
     * @param selected the selected to set
     */
    public void setSelected(boolean selected) {
        this.selected = selected;
    }
    

    }
    }
    `
    my .pom

    4.0.0

    xxxx
    xxxxxxxx
    1.0
    war

    xxxxxxx

    ${project.build.directory}/endorsed UTF-8
    <dependency>
        <groupId>org.eclipse.persistence</groupId>
        <artifactId>eclipselink</artifactId>
        <version>2.5.2</version>
        <scope>provided</scope>
    </dependency>
    
    <dependency>
        <groupId>org.eclipse.persistence</groupId>
        <artifactId>org.eclipse.persistence.jpa.modelgen.processor</artifactId>
        <version>2.5.2</version>
        <scope>provided</scope>
    </dependency>
    
    <dependency>
        <groupId>commons-cli</groupId>
        <artifactId>commons-cli</artifactId>
        <version>1.2</version>
    </dependency>
    
    <dependency>
        <groupId>jod</groupId>
        <artifactId>jodconverter</artifactId>
        <version>2.2.2</version>
    </dependency>
    
    <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>1.4</version>
    </dependency>
    
    <dependency>
        <groupId>org.openoffice</groupId>
        <artifactId>juh</artifactId>
        <version>3.0.1</version>
    </dependency>
    
    <dependency>
        <groupId>org.openoffice</groupId>
        <artifactId>unoil</artifactId>
        <version>3.0.1</version>
    </dependency>
    
    <dependency>
        <groupId>jodconverter</groupId>
        <artifactId>xstream</artifactId>
        <version>1.3.1</version>
    </dependency>
    
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-jdk14</artifactId>
        <version>1.5.6</version>
    </dependency>
    
    <dependency>
        <groupId>jodconverter</groupId>
        <artifactId>jodconverter-cli</artifactId>
        <version>2.2.2</version>
    </dependency>
    
    <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>EasyHC3Persistence</artifactId>
        <version>${project.version}</version>
    </dependency>
    
    <dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-web-api</artifactId>
        <version>7.0</version>
        <scope>provided</scope>
    </dependency>
    
    <dependency>
        <groupId>net.bootsfaces</groupId>
        <artifactId>bootsfaces</artifactId>
        <version>0.9.0</version>
        <scope>compile</scope>
    </dependency>
    
    <dependency>
        <groupId>org.primefaces</groupId>
        <artifactId>primefaces</artifactId>
        <version>5.3</version>
        <scope>compile</scope>
    </dependency>
    
    <dependency>  
      <groupId>org.primefaces.themes</groupId>  
      <artifactId>all-themes</artifactId>  
      <version>1.0.10</version>  
    </dependency> 
    
    <dependency>
       <groupId>de.larmic.butterfaces</groupId>
       <artifactId>components</artifactId>
       <version>2.1.8</version>
    </dependency>
    
    prime-repo PrimeFaces Maven Repository http://repository.primefaces.org default org.apache.maven.plugins maven-compiler-plugin 3.1 1.7 1.7 ${endorsed.dir} org.apache.maven.plugins maven-war-plugin 2.3 false org.apache.maven.plugins maven-dependency-plugin 2.6 validate copy ${endorsed.dir} true javax javaee-endorsed-api 7.0 jar
@stephanrauh
Copy link

stephanrauh commented Aug 19, 2016

There's an error in BootsFaces 0.9 that causes this problem. I'm not entirely sure your problem is fixed because I only tested input fields and command buttons, but chances are everything works with BootsFaces 1.0. Currently, there's only a developer preview. See TheCoder4eu/BootsFaces-OSP#369 on how to get it.

BTW, you're on the wrong repo. Please open new issues in the open source directory: https://github.com/TheCoder4eu/BootsFaces-OSP

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants