La classe ResultSetTableModel

caro -  
 caro -
Bonjour, voila j'ai un souci: j'execute une requête et les résultats je les mets dans un tableau grace à la classe ResultSetTableModel Simplement ds ce tableau les cellules peuvent etre modifiées par l'utilisateur , j'ai dc mis la méthode public boolean isCellEditable mais je ne vois pas comment écrire la methode setValueAt si qqn pouvait me la donner parce que je suis vraiment embêtée merci d'avance


public class ResultSetTableModel extends AbstractTableModel{

ResultSet rs=null;
ResultSetMetaData rsmd;

public ResultSetTableModelA(ResultSet aResultSet)
{
rs=aResultSet;
try
{
rsmd=rs.getMetaData();
}
catch(Exception e){
System.out.println("exception");
}
}

public String getColumnName(int col)
{
try
{
return rsmd.getColumnName(col+1);
}
catch (SQLException e){
return Integer.toString(col);
}
}

public int getColumnCount()
{ int res=0;
try
{
res= rsmd.getColumnCount();
}
catch(SQLException e){
System.err.println("getColumnCount() : " + e);
}
return res;
}

public int getRowCount()
{
//int res=0;
try
{
rs.last();
return rs.getRow();
}
catch(SQLException e){
System.err.println("getRowCount() : " + e);
return 0;
}
//return res;
}

public Object getValueAt(int r,int c)
{ Object o = "";
try
{ rs.absolute(r+1);
o= rs.getObject(c+1);
}
catch(SQLException e){
System.err.println("getValueAt() : " +e);
}
return o;
}

public void setValueAt(Object obj,int r,int c)
{
try{
???
}
catch(SQLException e){
System.err.println("setValueAt() : " +e);
}

}

public boolean isCellEditable(int r,int c){
return true;
}


}

1 réponse

choubaka Messages postés 39986 Date d'inscription   Statut Modérateur Dernière intervention   2 105
 
salut

je ne vois pas ce que tu ne comprends pas, tu dois mettre un objet valeur (par exemple un String), les int c et r désigne l'emplacement dans le tableau
0
caro
 
en fait la méthode setValueAt je l'écris ainsi:
public void setValueAt(Object value,int r,int c)
{
try
{ rs.absolute(r+1);
rs.updateObject(c+1,value);
}
catch..
fireTableCellEnabled(true);
}

je ne sais pas si c'est correct en tout cas mon problème est que lorsque l'utilisateur entre une valeur dans un tableau elle disparait qd on va ds une autre cellule du tableau et je ne vois vraiment pas comment faire
0