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
|
class MonModele extends AbstractTableModel {
Vector nomColonne=new Vector(); //les noms de colonnes
Vector<Vector> donnees=new Vector<Vector>(); //les donnees de la table
Vector elementUn = new Vector();
public MonModele(String taxo,String onglet,String libelle,String Contextref) {
nomColonne.addElement("Compte");
nomColonne.addElement("Actif");
nomColonne.addElement("Opérateur");
String StrSQL;
StrSQL ="SELECT COMPTE,ACTIF,SIGNE FROM MAPPING WHERE TAXONOMIE='"+taxo+"' AND GABARIT='"+onglet+"' AND ELEMENTNAME='"+libelle+"' AND CONTEXTREF='"+Contextref+"'";
try{
Database connect=new Database();
connect.OpenDB();
ResultSet rs=connect.Execute(StrSQL);
//on place le curseur sur le dernier tuple
rs.last();
//on récupère le numéro de la ligne
int nombreLignes = rs.getRow();
//on repace le curseur avant la première ligne
rs.beforeFirst();
while (rs.next()){
elementUn.addElement(rs.getString("COMPTE"));
if (rs.getString("ACTIF").equals("Y")){
elementUn.addElement(new Boolean(true));
}
else{
elementUn.addElement(new Boolean(false));
}
if (rs.getString("SIGNE")!=null){
if (rs.getString("SIGNE").equals("-")){
elementUn.addElement("-");
}
else{
elementUn.addElement("+");
}
}else{
elementUn.addElement("+");
}
//elementUn.addElement(" ");
}
}
catch (Exception E){
JOptionPane.showMessageDialog(null, "Impossible de se connecter à cette BD" +
"Erreur " + E.getMessage(), "alert", JOptionPane.ERROR_MESSAGE);
}
}
public int getColumnCount() {
return nomColonne.size();
}
public int getRowCount() {
return elementUn.size()/getColumnCount();
}
public String getColumnName(int columnIndex) {
String colName="";
if (columnIndex<=getColumnCount())
colName=(String)nomColonne.elementAt(columnIndex);
return colName;
}
public Class getColumnClass(int column){
return getValueAt(0, column).getClass();
}
public boolean isCellEditable(int rowIndex, int columnIndex) {
if (columnIndex==2){
return true;
}else{
return false;
}
}
public void setValueAt(Object val, int row, int col) {
JOptionPane.showMessageDialog(null, "rere", "alert", JOptionPane.ERROR_MESSAGE);
Object[] obj = (Object[]) elementUn.get((row+1)*(col+1));
obj[col] = val;
elementUn.setElementAt(val, (row+1)*(col+1));
//fireTableCellUpdated(row, col);
}
public Object getValueAt(int rowIndex, int columnIndex) {
return elementUn.elementAt(
(rowIndex*getColumnCount())+columnIndex);
}
public void setColumnName(Vector colNames){
//columnNames=new Vector(colNames.length);
nomColonne=colNames;
fireTableStructureChanged();
}
public void removeRow(int row) {
elementUn.removeElementAt(row);
fireTableRowsDeleted(row, row);
}
} |
Partager