Filtro su DataGridView

venerdì 22 gennaio 2016 - 22.18

Peppino Profilo | Junior Member

Ciao a tutti. Spero di aver scelto la stanza giusta.
Ho modificato il posto perché mi sembrava incompleto.

Uso sql server 2008 R2 e visualbasic 2010 versione express.

Ho una tabella 'SpeseCasa' con colonne 'ID, TipoSpesa', poi
ho una tabella in relazione 'SpeseCasa_dettagli' con colonne 'ID, DataSpese, Descrizione, Importo'
Nella form ho una TextBox che mi visualizza il 'TipoSpesa', una DataGridView1 ‘DgvDati’ che mi visualizza le 'SpeseCasa_dettagli'.
Se ho bisogno di effettuare una ricerca o una modifica e i dettagli sono tanti devo fare la ricerca scrollando la tabella uno per uno.
Allora ho pensato di fare la ricerca tramite filtro. Ho inserito una TextBox e cerdando su internet ho inserito il codice seguente:

Private dst As New DataSet
Private bds As New BindingSource
Private adp As New SqlDataAdapter

Private Sub BtnCercaDati_Click(sender As System.Object, e As System.EventArgs) Handles BtnCercaDati.Click
Dim cmd = New SqlCommand()
cmd.Connection = SqlHelper.ConnessioneDatabase
cmd.CommandText = "SELECT Descrizione FROM SpeseCasa_dettagli"
adp = New SqlDataAdapter(cmd)
adp.Fill(DS, "Descrizione")
bds.DataMember = "Descrizione"
bds.DataSource = dst
DgvDati.DataSource = bds
End Sub

Private Sub TxtCercaDescrizione_TextChanged(sender As System.Object, e As System.EventArgs) Handles TxtCercaDescrizione.TextChanged
If TxtCercaDescrizione.TextLength > 0 Then
Try
bds.Filter = "Descrizione Like '" & TxtCercaDescrizione.Text & "%'"
DgvDati.DataSource = bds
Catch ex As Exception
End Try
Else
bds.Filter = String.Empty
End If
End Sub

dovrebbe puntare sulla riga che soddisfa il filtro già dalla prima lettera. Purtroppo il filtro viene effettuato come voluto con la differenza
che viene effettuato su una colonna doppiata e svuotando le colonne già presente sul DataGridView. Questo per me non va bene, perché
Io voglio che il filtro dei dati avviene sulle colonne e sui dati presenti in partenza sul DataGridView. Non riesco proprio a venirne a capo.
Chiedo se possibile avere la giusta correzione su questo codice. Spero di essere stato chiaro nell’asporre il problema.
Grazie anticipatamente per l'eventuale risposta. Ciao.
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 !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5