non riesco a mostrare il contenuto della ComboBox in automatico.
Mi spiego meglio, ho una ComboBox che popolo con un array nel momento che in cui il controllo perde il focus o pigio il pulsante di ricerca con il seguente metodo:
Code: Select all
method CercaDocenti(DocCer as String)
LOCAL RecTro as LONG
DocCer := StrTran(DocCer, "'", "'")
aNomDoc := {} // Svoto l'array
cConnAs1 := "SELECT iddocente as id, concat(cognome, ' ', nome) as nome "+;
"FROM apprendistato.docenti "+;
"WHERE concat(cognome, ' ', nome) like '%" + DocCer + "%' "+;
"ORDER BY nome;"
oSelectAs1 := SQLSelect{cConnAs1, oConnAs1}
oSelectAs1:Execute()
IF oSelectAs1:Status <> NULL_OBJECT
oSelectAs1:Close()
ErrorBox{SELF, "Errore durante accesso CercaDocenti"}:Show()
else
RecTro := SELF:oSelectAs1:RecCount
SELF:oSelectAs1:GoTop()
DO WHILE .not. SELF:oSelectAs1:EOF
AAdd(aNomDoc, {SELF:oSelectAs1:nome, SELF:oSelectAs1:id}) // Popolo l'array
SELF:oSelectAs1:skip()
ENDDO
SELF:oSelectAs1:FreeStmt(SQL_DROP)
ENDIF
SELF:oDCListaTutor:FillUsing(aNomDoc )
if RecTro = 1 // decodifica l'unico elemento trovato
SELF:oDCListaTutor:CurrentItemNo := 1
SelezionaDoc()
elseif RecTro = 0 // indica che la ricerca ha avuto
LeggiStringa("Esito ricerca, negativa") // esito negativo
SELF:oDCListaTutor:TextValue := DocCer
SELF:oDCListaTutor:SetFocus()
else
// SELF:oDCListaTutor:SetXXX() // Mostra gli elementi trovati (Come si fa?)
endif
return NIL
- se ho trovato un solo elemento lo decodifico e lo mostro
- se non ho trovato nulla emetto un messaggio sonoro ecc.
- se ho trovato più di un elemento vorrei aprire la ComboBox come mostrato in figura senza pigiare la freccia a discesa
Vi ricordo che adopero X# nel dialetto VO
Grazie a tutti
Claudio