Italian Come settare da codice una combo box?

amorosik

Expert
Licensed User
Dispongo della tabella ARTICOLI, con due campi CODICE e DESCRIZIONE
Vorrei caricare una combobox usando sia il campo DESCRIZIONE che il campo CODICE, in pratica su una riga si dovrebbero vedere entrambi, prima DESCRIZIONE e poi CODICE
La DESCRIZIONE puo' anche essere doppia, mentre il campo CODICE contiene valori univoci
Poi da codice vorrei settare una certa riga, ad esempio la riga con CODICE=123, e 'sentire' il click dell'operatore con la restituzione del CODICE cliccato
Vedo che per selezionare una certa riga bisogna andare a colpi di SelectedIndex ma io non dispongo della riga alla quale andare, dispongo del CODICE, e quindi come fare per settare la riga che interessa a me?
 

ivanomonti

Expert
Licensed User
Longtime User
supponiamo perchè non e molto chiaro, in questo codice cb e nelle globali

B4X:
Sub Class_Globals
    Private Root As B4XView
    Private xui As XUI
    Private cb As ComboBox
End Sub

B4X:
Sub combo

    cb.Initialize("")
 
    Dim lb As Label
    lb.Initialize("")
    lb.Text="codice 1234"
    lb.Tag="1234"
 
    cb.Items.Add(lb)
 
    getValueCombo(lb.Tag)
 
End Sub

Sub getValueCombo(value As String)
 
    For i = 0 To cb.Items.Size-1
   
        If cb.Items.Get(i) Is ComboBox Then
       
        Dim lb As Label = cb.Items.Get(i)
   
        If lb.As(Label).Tag = value Then
            'dillo alla mamma
        End If
   
        End If
   
    Next
 
End Sub

metodo con ritorno stringa:
Sub getValueCombo( value As String) As String
    For i = 0 To cb.Items.Size-1
        If cb.Items.Get(i) Is ComboBox Then
        Dim lb As Label = cb.Items.Get(i)
        If lb.As(Label).Tag = value Then
            Return lb.Text
        End If
        End If
    Next
    Return "Null"
End Sub
 
Last edited:

amorosik

Expert
Licensed User
Ah, molte grazie per l'esempio
In sostanza giri nel ciclo finche' il valore passato lo trovi nella combo
Pensavo ci fosse qualche metodo/proprieta' gia' belli e pronti da usare
 
Top