Sélection ligne dans datatable
sky88
Messages postés
66
Statut
Membre
-
sky88 Messages postés 66 Statut Membre -
sky88 Messages postés 66 Statut Membre -
Bonjour,
voici mon doce JSP pour la création de la table:
et voici mon code bean
comment je peux afficher le contenu d'une cellule de la ligne sélectionnée dans un input
Merci
(Je travaille JAVA +JSF)
voici mon doce JSP pour la création de la table:
<rich:scrollableDataTable var="RECH" value="#{Recherche.list}"
frozenColCount="1"
first="0"
rows="40"
width="680px"
height="396px" style="font-size:12pt;">
<rich:column sortBy="#{RECH.TYPE}" width="80px" style="text-align:center;font-size:12pt;" >
<f:facet name="header"><h:outputText value="TYPE" /></f:facet>
<h:outputText value="#{RECH.TYPE}"style="text-align:center;" />
</rich:column>
<rich:column sortBy="#{RECH.MATRI}" width="70px" style="text-align:center;font-size:12pt;">
<f:facet name="header"><h:outputText value="MATRICULE" /></f:facet>
<h:outputText value="#{RECH.MATRI}" style="text-align:center;"/>
</rich:column>
<rich:column sortBy="#{RECH.CODE_SOC}" width="80px" style="text-align:center;font-size:12pt;">
<f:facet name="header"><h:outputText value="CODE SOCIETE" /></f:facet>
<h:outputText value="#{RECH.CODE_SOC}" style="text-align:center;"/>
</rich:column>
<rich:column sortBy="#{RECH.NOM}" width="100px" style="text-align:center;font-size:12pt;">
<f:facet name="header"><h:outputText value="NOM" /></f:facet>
<h:outputText value="#{RECH.NOM}" style="text-align:center;"/>
</rich:column>
<rich:column sortBy="#{RECH.PRENOM}" width="100px" style="text-align:center;font-size:12pt;">
<f:facet name="header"><h:outputText value="PRENOM" /></f:facet>
<h:outputText value="#{RECH.PRENOM}"style="text-align:center;" />
</rich:column>
<rich:column sortBy="#{RECH.LIBEL}" width="250px" style="text-align:center;font-size:12pt;">
<f:facet name="header"><h:outputText value="FONCTION" /></f:facet>
<h:outputText value="#{RECH.LIBEL}"style="text-align:center;" />
</rich:column>
</rich:scrollableDataTable >
et voici mon code bean
package Test;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Vector;
import javax.faces.component.UIComponent;
import javax.faces.component.html.HtmlDataTable;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import javax.faces.model.DataModel;
import javax.faces.model.SelectItem;
import org.richfaces.model.impl.ListDataModel;
import Test.BDD;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import java.sql.Connection;
public class Recherche {
private String MO;
private DataModel list = new ListDataModel();
//private ArrayList<EMPLOYES> list;
private ResultSet RS;
public String getMO() {
return MO;
}
public void setMO(String MO) {
this.MO = MO;
}
@SuppressWarnings("unchecked")
public DataModel getlist() {
if (list == null) {
Connection con = new BDD().getCon();
try {
//list = new ArrayList<EMPLOYES>();
String SqlStr = " select CODE_SOC, MATRI, NOM, PRENOM, FONCTION as LIBEL,'EXTERNE' as TYPE from DC_DEMANDEUREX ";//WHERE UPPER(DC_DEMANDEUREX.NOM) LIKE '%"+ MO.toUpperCase() +"%' OR UPPER(DC_DEMANDEUREX.PRENOM) LIKE '%"+ MO.toUpperCase() +"%'UNION" ;
// SqlStr =SqlStr+ " select CODE_SOC, MATRI, NOM, PRENOM, LIBEL,'INTERNE' as INTERNE from DC_EMPLOYES WHERE UPPER(DC_EMPLOYES.NOM) LIKE '%"+ MO.toUpperCase() +"%'OR UPPER(DC_EMPLOYES.PRENOM) LIKE '%"+ MO.toUpperCase() +"%' ORDER BY TYPE DESC, CODE_SOC, MATRI, NOM, PRENOM ";
Statement stmt= con.createStatement();
RS = stmt.executeQuery(SqlStr);
while(RS.next())
{
list.setWrappedData( new EMPLOYES(RS.getString("CODE_SOC"),RS.getInt("MATRI"),RS.getString("NOM"),RS.getString("PRENOM"),RS.getString("LIBEL"),RS.getString("TYPE") ));
}
} catch (SQLException e) {
e.printStackTrace();
}
}
return list;
}
public void selectionneElement(ActionEvent evt) {
// On récupère la datatable.
HtmlDataTable table = getParentDatatable((UIComponent) evt.getSource());
// On récupère l'objet affiché à la bonne ligne de la datatable.
Object o = table.getRowData();
// On récupère aussi son index
int index = table.getRowIndex();
// Suite du traitement sur l'objet sélectionné.
}
private HtmlDataTable getParentDatatable(UIComponent compo) {
if (compo == null) {
return null;
}
if (compo instanceof HtmlDataTable) {
return (HtmlDataTable) compo;
}
return getParentDatatable(compo.getParent());
}
}
comment je peux afficher le contenu d'une cellule de la ligne sélectionnée dans un input
Merci
(Je travaille JAVA +JSF)
A voir également:
- Sélection ligne dans datatable
- Partager photos en ligne - Guide
- Mètre en ligne - Guide
- Formulaire en ligne de meta - Guide
- Apparaitre hors ligne instagram - Guide
- Aller à la ligne dans une cellule excel - Guide