Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [java] valutare in valore della tabella non mostrato in jtable

    ho la mia struttura in un array bidimensionale.

    la seconda colonna mi contiene solo un flag booleano true/false che non visualizzo nella JTable.

    devo colorare la riga a seconda del valore contenuto nella seconda colonna ma chimando l'apposito render...

    codice:
    public Component getTableCellRendererComponent
           (JTable table, Object value, boolean isSelected,
           boolean hasFocus, int row, int column) 
        {
            Component cell = super.getTableCellRendererComponent
               (table, value, isSelected, hasFocus, row, column);
    come faccio a verificare il valore di una cella che non mostro e quindi non esiste nel passaggio dei parametri?

  2. #2
    il max che ho pensato e' magari disegnare cmq tutte e 4 le colonne ma impostare a 0 la dimensione delle ultime 3 e rendere queste non ridimensionabili...

    ma non mi sembra molto furba come soluzione...
    (la mia tabella usa un model e un render personalizzati... c'e' qualche modo di passare l'info visto che cmq ho passato il frame principale nel costruttore ma non funziona?)

  3. #3

    come cavolo risolvo????? disperato.

    un problema collaterale per cercare di risolvere in altro modo è: quale è il controllo da mettere nel render x verificare non la cella cliccata ma il valore della cella che lo segue o precede... insomma di una cella in posizione xindex ??

  4. #4
    passa alla classe in cui stai costruendo la tabella 2 oggetti Vector uno contenente i dati e uno contenente i valori true/false.

    cosi crei i 2 Vector nella classe in cui fai la query al db:

    codice:
    private static Vector vectorDati;
    private static Vector vectorBool;
    
    
    vectorDati = new Vector();
    vectorBool = new Vector();
    
    for(int i=0;i<risultatoQuerySql;i++) {
       vectorDati.addElement(res.getString("campo_con_i_dati"));
       vectorBool.addElement(res.getString("campo_booleano"));
    }
    e scrivi anche 2 metodi statici
    codice:
    public static Vector getVecorDati()
    {
    return vectorDati ;
    }
    e 
    public static Vector getVecorBool()
    {
    return vectorBool;
    }
    ------------------------------------------------

    nella classe in cui costruisci la tabella prima chiami i 2 metodi che hai scritto prima

    cosi ottieni i 2 vector
    poi in un for riempi l'array multidimensionale controllando prima il valore di vectorBool e in conseguenza al suo risultato fai quello che ti serve


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.