bonsoir ,
j'utilise primefaces , et j'ai un problème avec le composant "datatable".
en fait, le filtre ne fonctionne pas et je ne trouve pas la cause .
j'espère que quelqu'un pourra m'aider.

voila le code xhtml:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
 
<?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:p="http://primefaces.org/ui">
<h:head>
	<script language="javascript" src="jquery.js" />
	<script language="javascript" src="liste.js" />
</h:head>
<h:body>
 
	<h:form>
		<h:panelGrid columns="2" cellpading="5">
 
			<h:commandButton action="AjoutCan" image="CSS/add.jpg"
				style="width:70px" />
 
			<p:menubar style="width:1120px;">
				<p:submenu label="Candidat" icon="ui-icon-pencil">
					<p:menuitem value="Lister" action="#{home.listerCan}"
						icon="ui-icon-extlink" />
				</p:submenu>
 
				<p:submenu label="Moniteur" icon="ui-icon-pencil">
					<p:menuitem value="Lister" action="#{home.listerMon}"
						icon="ui-icon-extlink" />
				</p:submenu>
 
				<p:submenu label="Vehicule" icon="ui-icon-pencil">
					<p:menuitem value="Lister" action="#{home.listerVe}"
						icon="ui-icon-extlink" />
				</p:submenu>
 
				<p:submenu label="Planning" icon="ui-icon-pencil">
					<p:menuitem value="Consulter" action="#{home.consulterPlan}"
						icon="ui-icon-extlink" />
				</p:submenu>
 
				<p:submenu label="Localisation" icon="ui-icon-pencil">
					<p:menuitem value="Acceder" action="#{home.acceder}"
						icon="ui-icon-extlink" />
				</p:submenu>
 
				<p:submenu label="Paiement" icon="ui-icon-pencil">
					<p:menuitem value="Consulter" action="#{home.listerPay}"
						icon="ui-icon-extlink" />
				</p:submenu>
 
				<p:submenu label="Compte" icon="ui-icon-pencil">
					<p:menuitem value="Creer " action="#{home.creerCompte}"
						icon="ui-icon-extlink" />
				</p:submenu>
 
			</p:menubar>
		</h:panelGrid>
 
 
		<br />
		<center>
 
			<p:dataTable var="e" value="#{candidat.candidates}" paginator="true"
				rows="5"
				paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
				rowsPerPageTemplate="5,10" style="width:1100px"
				filteredValue="#{candidat.candidates}"
				emptyMessage="aucun candidat!!!">
 
				<p:column sortBy="#{e.cin}" filterBy="#{e.cin}"
					filterMatchMode="contains">
					<f:facet name="header">
						<h:outputText value="CIN" />
					</f:facet>
					<h:outputText value="#{e.cin}" />
				</p:column>
 
				<p:column sortBy="#{e.nom}" filterBy="#{e.nom}"
					filterMatchMode="contains">
					<f:facet name="header">
						<h:outputText value="Nom" />
					</f:facet>
					<h:outputText value="#{e.nom}" />
				</p:column>
 
				<p:column sortBy="#{e.prenom}" filterBy="#{e.prenom}"
					filterMatchMode="contains">
					<f:facet name="header">
						<h:outputText value="Prenom" />
					</f:facet>
					<h:outputText value="#{e.prenom}" />
				</p:column>
 
				<p:column sortBy="#{e.adr}" filterBy="#{e.adr}"
					filterMatchMode="contains">
					<f:facet name="header">
						<h:outputText value="Adresse" />
					</f:facet>
					<h:outputText value="#{e.adr}" />
				</p:column>
 
				<p:column sortBy="#{e.gsm}" filterBy="#{e.gsm}"
					filterMatchMode="contains">
					<f:facet name="header">
						<h:outputText value="GSM" />
					</f:facet>
					<h:outputText value="#{e.gsm}" />
				</p:column>
 
				<p:column sortBy="#{e.nbrSeance}" filterBy="#{e.nbrSeance}"
					filterMatchMode="contains">
					<f:facet name="header">
						<h:outputText value="Nombre seances" />
					</f:facet>
					<h:outputText value="#{e.nbrSeance}" />
				</p:column>
 
				<p:column sortBy="#{e.mnt}" filterBy="#{e.mnt}"
					filterMatchMode="contains">
					<f:facet name="header">
						<h:outputText value="Montant" />
					</f:facet>
					<h:outputText value="#{e.mnt}" />
				</p:column>
 
				<p:column>
					<f:facet name="header">
						<h:outputText value="Planning" />
					</f:facet>
					<h:commandButton action="#{e.consulterPLan}"
						image="CSS/planning.jpg" />
				</p:column>
 
				<p:column>
					<f:facet name="header">
						<h:outputText value="Actions" />
					</f:facet>
					<div id="btnUpdate">
						<!-- <h:commandButton  action="#{e.clickModifier(e)}" image="CSS/update.jpg"  style="width:51px"/> -->
						<h:commandButton action="#{e.clickModifier(e)}" value="modifi"
							style="width:51px" />
					</div>
					<h:commandButton action="#{e.supprimer(e)}" image="CSS/delete.png" />
 
				</p:column>
 
			</p:dataTable>
 
 
 
			<br />
			<br />
			<div id="tab">
				<p:fieldset legend="COORDONNEES" style="width:850px">
					<br />
					<h:panelGrid columns="2" cellpading="5">
						<h:outputText value="CIN :&nbsp;&nbsp;" />
						<p:inputText value="#{candidat.cin}" disabled="false" />
 
						<h:outputText value="Nom :&nbsp;&nbsp;" />
						<p:inputText value="#{candidat.nom}" />
 
						<h:outputText value="Prenom :&nbsp;&nbsp;" />
						<p:inputText value="#{candidat.prenom}" />
 
						<h:outputText value="GSM :&nbsp;&nbsp;" />
						<p:inputText value="#{candidat.gsm}" />
 
						<h:outputText value="Adresse :&nbsp;&nbsp;" />
						<p:inputText value="#{candidat.adr}" />
 
 
					</h:panelGrid>
					<br />
					<br />
					<p:commandButton value="Modifier" action="#{candidat.modifier()}" />
				&nbsp;&nbsp;
				<p:commandButton type="reset" value="Annuler" />
				</p:fieldset>
			</div>
		</center>
 
		<p:stack icon="CSS/stack.png">
			<p:menuitem value="Accueil" icon="CSS/homee.jpg" url="IndexAdmin.jsf" />
			<p:menuitem value="Deconnexion" icon="CSS/logout.jpg"
				url="Authentification.jsf" />
		</p:stack>
 
	</h:form>
</h:body>
</html>
et le code suivant est mon bean:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
 
 
import java.util.*;
 
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
 
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
 
@ManagedBean
@SessionScoped
public class Candidat
{
 
 
	private String cin;
	private String nom;
	private String prenom;
	private String gsm ;
	private String  adr;
	private String nbrSeance ;
	private String mnt ;
 
	/////
	private List<Candidat> filtredCandidat;
 
	///////
 
 
	//////////getters&setters//////////
	public String getCin() {
		return cin;
	}
 
	public void setCin(String cin) {
		this.cin = cin;
	}
 
	public String getNom() {
		return nom;
	}
 
	public void setNom(String nom) {
		this.nom = nom;
	}
 
	public String getPrenom() {
		return prenom;
	}
 
	public void setPrenom(String prenom) {
		this.prenom = prenom;
	}
 
	public String getGsm() {
		return gsm;
	}
 
	public void setGsm(String gsm) {
		this.gsm = gsm;
	}
 
	public String getAdr() {
		return adr;
	}
 
	public void setAdr(String adr) {
		this.adr = adr;
	}
 
	public String getNbrSeance() {
		return nbrSeance;
	}
 
	public void setNbrSeance(String nbrSeance) {
		this.nbrSeance = nbrSeance;
	}
 
	public String getMnt() {
		return mnt;
	}
 
	public void setMnt(String mnt) {
		this.mnt = mnt;
	}
 
	/////////////
	public List<Candidat> getFiltredCandidat() {
		return filtredCandidat;
	}
 
	public void setFiltredCandidat(List<Candidat> filtredCandidat) {
		this.filtredCandidat = filtredCandidat;
	}
	////////////////////////////////
 
	public List<Candidat> getlisteCan() throws HibernateException 
	{
	 	SessionFactory sf = new Configuration().configure().buildSessionFactory();
	    Session session= sf.openSession();
		List<Candidat> list = (ArrayList <Candidat>)session.createQuery("From Candidat").list();
 
		System.out.println("==="+list);
		return list ;
 
	}
 
	///////
	public String ajouter( )
	{
				//Initialiser Hibernate
					SessionFactory sf = new Configuration().configure().buildSessionFactory();
 
					//Ouvrir une session Hibernate
					Session session = sf.openSession();
					session.beginTransaction();
 
					//Enregistrer Etudiant
					session.save(this);
					session.getTransaction().commit();
					session.close();
					return "Authentification";		
 
	}
	/////////for testion the button 
	public void clickModifier(Candidat c)
	{
 
 
 
		nom=c.getNom();
		System.out.println("nnnnnnn"+nom);
 
 
	}
 
	public String modifier( )
	{
 
				//initialiser hibernate
				SessionFactory sF = new Configuration().configure().buildSessionFactory();
 
				//ouvrir une session sur hibernate
				Session session = sF.openSession();
				session.beginTransaction();
 
				//enregister Etudiant
				session.update(this);  // ou saveOrUpdate
				session.getTransaction().commit();
 
				session.close();
				return "Authentification" ;
	}
 
	public String supprimer(Candidat c)
	{				
		//initialiser hibernate
		SessionFactory sF = new Configuration().configure().buildSessionFactory();
 
		//ouvrir une session sur hibernate
		Session session = sF.openSession();
		session.beginTransaction();
 
		//enregister Etudiant
		session.delete(c);  // ou saveOrUpdate
		session.getTransaction().commit();
 
		session.close();
		return "Authentification";
    }
	//////////////// test
	public List<Candidat> candidates=null;
 
	public List<Candidat> getCandidates()
	{
		if(candidates==null)
		{
			candidates=getlisteCan();
		}
 
		return candidates;
	}
 
}