Ciao a tutti,sono alle prese con un problema di complessita'computazionale :D
In pratica per effettuare il riempimento di una serie di combobox (nel mio caso 15) prendendo come sorgente una query conosco due modi disponibili
Cio'che non capisco è come sia possibile che nel secondo caso,il programma abbia un ritardo di alcuni secondi nel riempire le combo,mentre col primo sia piu veloce
La domanda è come implementare il metodo 1 via codice e senza wizard? e sopratutto esiste un metodo piu veloce?
Ecco i due metodi
1)usando il wizard,trascino una combobox,seleziono Usa Elementi Associati ai Dati -> Origine Dati -> TabellaBindingSource ,e questo per ogni combobox, il che crea 15 binding source in quanto i dati devono essere inseriti indipendentemente
2)Uso un sqldatareader per scandire la tabella,prelevare il valore e riempire le combobox
Dim conn As SqlConnection = New SqlConnection(con_string)
conn.Open()
Dim riempi_combo As SqlCommand = New SqlCommand("select * from tabella", conn)
Dim reader As SqlDataReader = riempi_combo.ExecuteReader()
If reader.HasRows Then
While reader.Read()
combo1.Items.Add(reader.Item(0).ToString)
combo2.Items.Add(reader.Item(0).ToString)
combo3.Items.Add(reader.Item(0).ToString)
combo4.Items.Add(reader.Item(0).ToString)
combo5.Items.Add(reader.Item(0).ToString)
combo6.Items.Add(reader.Item(0).ToString)
combo7.Items.Add(reader.Item(0).ToString)
combo8.Items.Add(reader.Item(0).ToString)
combo9.Items.Add(reader.Item(0).ToString)
combo10.Items.Add(reader.Item(0).ToString)
combo11.Items.Add(reader.Item(0).ToString)
combo12.Items.Add(reader.Item(0).ToString)
combo13.Items.Add(reader.Item(0).ToString)
combo14.Items.Add(reader.Item(0).ToString)
combo15.Items.Add(reader.Item(0).ToString)
End While
End If
conn.Close()
conn.Dispose()