Combobox

di il
3 risposte

Combobox

Ho un problema con il jcombobox, in pratica ho una tabella e nell'ultima cella pongo la jcombobox in modo da poter selezionare la quantità di un articolo questo per n righe della tabella solo che ogni qual volta apro la tendina del jcombobox esccono tutti i valori di ogni riga in tutte le celle e non i valori della riga relativa posto il codice grazie:



//codice
//prelevo dal database il numero del valore di qta massima
String sql4="Select count(*)from Articolo where CodCat='"+riga[0]+"';";
Vector<String[]>result4=DbConnection.getInstance().eseguiQuery(sql4);
Iterator<String[]>x=result4.iterator();
while(x.hasNext()){
String[] nR=x.next();
System.out.println("numero righe"+nR[0]);
k=Integer.parseInt(nR[0]);
}

}
TableColumn Quantità = table.getColumnModel().getColumn(6);
JComboBox<Integer> nOrd = new JComboBox<Integer>();
int h=0,v;
while(h!=k){
String t= (String) table.getValueAt(h, 5);
v=Integer.parseInt(t);//valore cella qta max
//inserisco il valore da 1 a v nella combobox
while(v>0){
System.out.println("valore che assegna al menu "+v);
nOrd.addItem(new Integer(v));
v--;
}


h++;
}
Quantità.setCellEditor(new DefaultCellEditor(nOrd));

3 Risposte

  • Re: Combobox

    Bri ha scritto:


    solo che ogni qual volta apro la tendina del jcombobox esccono tutti i valori di ogni riga in tutte le celle e non i valori della riga relativa
    Che vuol dire? (non ho letto bene il codice ... non ho molto tempo ora ..).

    Forse è sbagliato il concetto? Il combobox generalmente si assegna alla colonna una volta sola, all'inizio quando si crea la GUI della tabella. E il contenuto del combobox di norma, tipicamente, è prefissato. Questo vuol dire che ciascuna cella di quella colonna offre all'utente le stesse opzioni. Poi il valore della cella È il valore "selezionato" del combobox.
  • Re: Combobox

    Praticamente io dovrei con quella cella indicare la quantità di un articolo che devo ordinare ma non devo superare il valore della cella precedente. Questo valore massimo cambia da riga in riga della tabella , mentre come ho fatto io da tutti i valori di tutte le righe ogni volta. Forse ho proprio sbagliato ad usare la combobox dimmi tu il metodo migliore ti prego
  • Re: Combobox

    Bri ha scritto:


    praticamente io dovrei con quella cella indicare la quantità di un articolo che devo ordinare ma non devo superare il valore della cella precedente. Questo valore massimo cambia da riga in riga della tabella , mentre come ho fatto io da tutti i valori di tutte le righe ogni volta. Forse ho proprio sbagliato ad usare la combobox dimmi tu il metodo migliore ti prego
    Dal punto di vista della UI, usare un combobox non è sbagliato né male. Insomma, va bene, è utile per offrire una scelta limitata e "controllata" di valori. La cosa che complica il tutto è questa logica particolare che devi gestire, che dipende anche da cosa c'è in una o più altre righe.
    Quello che si dovrebbe fare è che quando la cella sta per entrare in edit (giusto il momento prima) vai a configurare "al volo" il JComboBox dell'editor per impostare solo i valori che servono. E questo si può fare in Swing, è possibile e a diversi livelli. Bisogna vedere però di quali informazioni hai bisogno, da dove, ecc..

    Purtroppo per me, che non ho la visione completa della applicazione, non è facile dare indicazioni precise in questo caso particolare. Potrei fare un esempio, buttato lì e magari solo vagamente similare come concetto a quello che devi fare tu .... ma dovrei valutarlo un attimo.
Devi accedere o registrarti per scrivere nel forum
3 risposte