per ora il meglio che si ho fatto nella pausa pranzo è l' autoaggiornamento della lista scrivendoci un testo, ci sarà il modo per mantenere aperta la lista durante la scrittura?
PUBLIC SUB ComboBox1_KeyRelease()
DIM sName AS String
DIM sPercorso AS String
DIM $hConn AS NEW Connection
DIM sql AS String
DIM hres AS Result
DIM i AS Integer
DIM lista AS NEW String[]
DIM avviato AS Boolean
DIM testo AS String
WITH $hConn
.Type = fstat.type
.Host = fstat.sPercorso
.Login = fstat.login
.Password = fstat.pass
.Name = fstat.name
END WITH
$hConn.Open
$hConn.Begin
sql = "SELECT * FROM utenti WHERE nick like '%" & combobox1.Text & "%';"
testo = combobox1.Text
hres = $hConn.Exec(sql)
FOR EACH hres
lista.add(hres!nick)
NEXT
PRINT "pippo"
$hconn.Close
ComboBox1.List = lista
IF lista.Count <> 0 THEN
ComboBox1.Index = 0
combobox1.Text = testo
ENDIF
$hconn.Close
END
non puoi prenderti le gtk e con extern importarti tutto quello che ti serve?
Ma poi io che ci sto a fare qui !? ;D
Ecco una prima bozza...
Mi sembra di aver completato la gestione dei vari spostamenti tra textbox e listbox. Va testata.
Ho inserito queste proprieta' al componente (oltre a quelle ereditate dall'UserControl):
Property Text As String
Restituisce il testo inserito nella TextBox
Property Read Key As String
Restituisce la chiave dell'Item scelto nella ListBox
Property List As Collection
Questa e' la Collection delle parole da ricercare con la TextBox. Per esempio se volessi fare una ricerca tra i clienti avro' una query impostata in questo modo:
Rec = Db.Exec("SELECT Ragionesociale, CodiceCliente FROM Clienti ORDER BY Ragionesociale;")
dopodiché:
FOR EACH Rec
SearchBox.List[Rec["CodiceCliente"]] = Rec["RagioneSociale"]
NEXT
e voila'.
Property ListWidth As String
Serve a impostare la larghezza della ListBox. Di default prendo la larghezza della TextBox.
Property ListHeight As String
Serve a impostare l'altezza della ListBox.
Bisogna ancora inserire gli Eventi.
Se avete critiche o suggerimenti, sparate pure. :ok: