Récupérer le contenu d'une ligne dans datatable
bonjour,
j'ai une datatable qui contient une liste d'objets( liste des compagnes) qui attendent d'etre validé.pour ceci j'ai ajouter un champs qui correspond à un bouton qui permet de valider ou de rejeter une compagne.j'ai créé la méthode qui permet la validation et je l'ai mis dans action lister du bouton mais ça ne marche pas.le bouton ne peut pas accéder à la compagne souhaité.
voici mon code
valide.xhtml
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
| <?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<h:head>
<title> Liste des compagnes </title>
<link rel="stylesheet" href="css/style_all2.css" type="text/css" media="screen" />
<!-- to choose another color scheme uncomment one of the foloowing stylesheets and wrap styl1.css into a comment -->
<link rel="stylesheet" href="css/style1hay.css" type="text/css" media="screen" />
<link rel="stylesheet" href="css/jquery-ui.css" type="text/css" media="screen" />
<link rel="stylesheet" href="css/jquery.wysiwyg.css" type="text/css" media="screen" />
</h:head>
<h:body>
<h:form id="form">
<p:dataTable value="#{compagne.valide}" var="o" paginator="true" rows="10"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="3,5,10" widgetVar="50" style="width: auto;" >
<f:facet name="header">
Liste des compagnes
</f:facet>
<p:column sortBy="#{o.user}" width="100px">
<f:facet name="header">
<h:outputText value="Societe" />
</f:facet>
<h:outputText value="#{o.user}"/>
</p:column>
<p:column filterBy="#{o.header}" width="120px">
<f:facet name="header">
<h:outputText value="En tete" />
</f:facet>
<h:outputText value="#{o.header}"/>
</p:column>
<p:column sortBy="#{o.texte_sms}" width="360px">
<f:facet name="header">
<h:outputText value="Message SMS" />
</f:facet>
<h:outputText value="#{o.texte_sms}"/>
</p:column>
<p:column sortBy="#{o.date}" width="300px">
<f:facet name="header">
<h:outputText value="Date d'envoi" />
</f:facet>
<h:outputText value="#{o.date}"/>
</p:column>
<p:column sortBy="#{o.status}" width="100px">
<f:facet name="header">
<h:outputText value="Status" />
</f:facet>
<h:outputText value="#{o.status}"/>
</p:column>
<p:column sortBy="#{o.solde}" width="100px">
<f:facet name="header">
<h:outputText value="Nombre de SMS" />
</f:facet>
<h:outputText value="#{o.solde}"/>
</p:column>
<p:column sortBy="#{o.relatedtable}" width="100px">
<f:facet name="header">
<h:outputText value="relatedTable" />
</f:facet>
<h:outputText value="#{o.relatedtable}"/>
</p:column>
<p:column width="100px">
<f:facet name="header">
<h:outputText value="valider" />
</f:facet>
<p:commandButton value="valider" actionListener="#{compagne.editValide}" >
<f:setPropertyActionListener value="#{o}" target="#{compagne.selectedCompagne}" />
</p:commandButton>
</p:column>
</p:dataTable>
</h:form>
</h:body>
</html> |
voici le bean
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
| package beans;
import dao.Database1;
import dao.UserDAO2;
import java.io.Serializable;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.bean.SessionScoped;
import javax.faces.component.UIComponent;
import javax.faces.component.html.HtmlDataTable;
import javax.faces.event.ActionEvent;
import javax.servlet.http.HttpSession;
import org.primefaces.model.SelectableDataModel;
import javax.faces.model.ListDataModel;
import org.primefaces.event.SelectEvent;
import org.primefaces.event.UnselectEvent;
/**
*
* @author stoner2008
*/
@ManagedBean(name = "compagne")
@SessionScoped
public class CompagneBean implements Serializable {
private String user, status, relatedtable;
private int solde;
private String rec_date, texte_sms, header, date;
private String idv;
private CompagneBean selectedCompagne;
//getters & setters
public ArrayList<CompagneBean> getMessages() throws ParseException {
HttpSession session = com.beans.Util.getSession();
session.setAttribute("datedebut", format_dateDebut());
session.setAttribute("datefin", format_dateFin());
session.setAttribute("user", user);
return UserDAO2.getCompagne();
}
public ArrayList<CompagneBean> getvalide() throws ParseException {
return UserDAO2.getCompagne2();
}
public static void validateTable(String table, Connection dbcon) {
try {
Statement stmt = dbcon.createStatement();
stmt.execute("UPDATE " + table + " set status='valide' ");
dbcon.commit();
} catch (SQLException sqle) {
System.out.println("erreur SQL au niveau de UpdateReceivederr:" + sqle.getMessage());
try {
dbcon.rollback();
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
// validateBulk(findCompagne(table, dbcon), dbcon);
}
public static void validateBulk(String id, Connection dbcon) {
try {
Statement stmt = dbcon.createStatement();
stmt.execute("UPDATE bulk set status='valide' where \"idBulk\"=" + id + "");
dbcon.commit();
} catch (SQLException sqle) {
System.out.println("erreur SQL au niveau de UpdateReceivederr:" + sqle.getMessage());
try {
dbcon.rollback();
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
public void editValide() {
Connection conn = Database1.getConnection();
System.out.println("--------- edit valide ------");
System.out.println("--------- gaz ------ " + selectedCompagne);
System.out.println("--------- this ------ " + selectedCompagne.relatedtable);
System.out.println("--------- this ------ " + this.relatedtable);
System.out.println("--------- related ------ " + relatedtable);
System.out.println("--------- fedgerdg ------ " + idv);
System.out.println("--------- related ------ " + this.idv);
CompagneBean.validateBulk(id, conn);
}
} |
voici userDAO2.java
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
public static ArrayList<CompagneBean> getCompagne2() {
try {
//System.out.println("date de edbut this "+this.datedebut);
// String date_debut = format_dateDebut(datedebut);
System.out.println("select * from bulk ");
Connection con = Database1.getConnection();
PreparedStatement ps = con.prepareStatement("select * from bulk ");
ArrayList<CompagneBean> al = new ArrayList<CompagneBean>();
ResultSet rs = ps.executeQuery();
boolean found = false;
while (rs.next()) {
CompagneBean e = new CompagneBean();
e.setIdv(rs.getString("idbulk"));
e.setUser(rs.getString("societe"));
e.setHeader(rs.getString("header_bulk"));
e.setTexte_sms(rs.getString("texte_sms"));
e.setDate(rs.getString("rec_date"));
e.setStatus(rs.getString("status"));
e.setRelatedtable(rs.getString("relatedtable"));
e.setSolde(Integer.parseInt(rs.getString("solde")));
al.add(e);
found = true;
}
rs.close();
if (found) {
System.out.println("found items");
return al;
} else {
System.out.println("nothing is found");
return null; // no entires found
}
} catch (Exception e) {
System.out.println("Error In getCompagne() -->" + e.getMessage());
return (null);
}
} |
merci pour votre aide