cid019
Messages postés237Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention11 juillet 2006 8 sept. 2004 à 11:03
je ne sais pas si ca va repondre a taquestion mais j'ai cree un model parametrable en fonction du nombre de colonnes.
le voici :
class LignesModel extends AbstractTableModel
{
private Vector[] vc;
private String[] st;
private int nbcol;
private boolean b;
public int getNbCol() { return nbcol; }
public Vector[] getVector() {return vc; }
public LignesModel(int nbc, String[] ch)
{
nbcol = nbc;
st = new String[nbcol];
vc = new Vector[nbcol];
for (int i = 0; i < nbcol; ++i)
{
st[i] = ch[i];
vc[i] = new Vector();
}
}
public void effacerTout()
{
for (int i = 0; i < nbcol; ++i)
vc[i].clear();
}
public void effacerLigne(int index)
{
for (int i = 0; i < nbcol; i++)
vc[i].removeElementAt(index);
}
public void ajouterLigne(String[] ch)
{
for (int i = 0; i < nbcol; ++i)
vc[i].add(ch[i]);
}
public String[] getColonne(int index)
{
return (String[]) vc[index].toArray(new String[vc[index].size()]);
}
public String[][] getLignes(int nbl)
{
String[][] res = new String[nbl][nbcol];
for (int i = 0; i < nbl; i++)
for (int j = 0; j < nbcol; j++)
res[i][j] = vc[j].elementAt(i).toString();
return res;
}
public String[] getLigne(int index)
{
String[] res = new String[nbcol];
for (int i = 0; i < nbcol; i++)
res[i] = vc[i].elementAt(index).toString();
return res;
}
public int getColumnCount()
{
return nbcol;
}
public int getRowCount()
{
return vc[0].size();
}
public String getColumnName(int col)
{
return st[col];
}
public Object getValueAt(int parm1, int parm2)
{
return vc[parm2].get(parm1);
}
public boolean isCellEditable(int row, int col)
{
return true;
}
public void setValueAt(Object obj, int row, int col)
{
vc[col].set(row, obj);
fireTableCellUpdated(row,col);
}
}
cs_GodConan
Messages postés2113Date d'inscriptionsamedi 8 novembre 2003StatutContributeurDernière intervention 6 octobre 201212 8 sept. 2004 à 11:35
GodConan :clown)
Et bien ds tous les cas si ta requete est chac foi differente il te faut reinit les valeurs de ton model de donné ... ca donnera l ilusion d un effet dinamik mais en realiter tu reinit tous... ( c le plus simple )
Autrement tu peut te faire ton model qui gere la complexité de tes mise a jour de table tu peu meme relier directement ce model a ta base de donne mais je te di pas tous le code .. ;o)