Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Problema con selezione combobox
sabato 26 settembre 2009 - 14.44
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Mau67
Profilo
| Expert
917
messaggi | Data Invio:
sab 26 set 2009 - 14:44
Ciao al forum, ho un altro problemino che non riesco a risolvere da alcuni giorni, praticamente nel mio progetto visual studio 2008 con tabelle access quando seleziono un amministrato dal combobox non filtra i dati nella listview.
Posto il codice che uso magari qualche occio esperto mi riesce a correggere l'eventuale errore:
'Qui popolo il combobox
Private Sub Amministrato1()
Dim objCmd As New OleDbCommand("SELECT ID, Cognome + ' ' + Nome + ' - ' + CodiceFiscale As MiaColonna FROM Anagrafica", Connection)
Dim dt As New DataTable("Anagrafica")
Dim objDa As New OleDbDataAdapter(objCmd)
objDa.Fill(dt)
ComboBox1.DisplayMember = "MiaColonna"
ComboBox1.ValueMember = "ID"
If Not dt Is Nothing AndAlso dt.Rows.Count > 0 Then
ComboBox1.DataSource = dt
End If
objDa.Dispose()
objCmd.Dispose()
Connection.Close()
Connection.Dispose()
End Sub
' Qui carico la listview con i dati filtrati dalla combobox
Private Sub Lista()
Try
ListView1.AllowColumnReorder = True
pb.Image = Image.FromFile(AppDomain.CurrentDomain.BaseDirectory + "Resources\administrator_128.gif")
Connection.Open()
Dim Sql As String = "SELECT Dal, Al, IDReparto FROM Servizi WHERE IDAnagrafica = '" & ComboBox1.SelectedValue & "' order by Dal"
ListView1.Items.Clear()
Dim thisCommand As New OleDbCommand(Sql, Connection)
Dim dr As OleDbDataReader = thisCommand.ExecuteReader
Dim i As Integer = 0
While dr.Read()
ListView1.Items.Add(dr("Dal"))
ListView1.Items(i).SubItems.Add(dr("Al"))
ListView1.Items(i).SubItems.Add(dr("IDReparto"))
i += 1
End While
i = 0
Catch ex As Exception
pb.Image = Image.FromFile(AppDomain.CurrentDomain.BaseDirectory + "Resources\administrator_128.gif")
'MsgBox(ex.Message)
End Try
Connection.Close()
End Sub
' Qui cambio la selezione dell'index
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
Lista()
End Sub
Praticamente la listview non carica i dati dove sbaglio?
Grazie in anticipa tutti
Mau67
AntCiar
Profilo
| Expert
936
messaggi | Data Invio:
mar 13 ott 2009 - 17:07
Ciao.
Guardando il tuo codice non vedo errori di struttura o concetturali. L'unica cosa su cui mi viene da pensare è il parametro di filtro nella stringa che usi per caricare la lista. dopo il WHERE utilizzi IdUtente = 'x'. Il parametro lo passi tra apicetti. Ma il campo in questione a DB e' di tipo stringa? nel caso in cui sia di tipo numerico NON devi usare gli apicetti ma passare direttamente il valore: IdUtente = x
Devi fare anche una ulteriore cosa. Dichiara una variabile di istanza di tipo booleano che metti a True in testa al metodo che carica la combo e poi la passi a false alla fine del metodo. Poi nell'evento sulla combo richiama la funzione di caricamento della lista solo se la variabile è falsa. Devi fare questo perchè la combobox quando riceve il datasource scatena l'envento di selezione su ogni record passandogli come valore un datarowview (questo succede in VS 2005. Non so se nel 2008 l'hanno risolto)
Spero sia questo il problema
ciao
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !