login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Datagrid filteren (Opgelost)

Offline rredspike1 - 03/11/2008 22:28
Avatar van rredspike1Lid Hi, had al gezocht op internet maar kon niks vinden, wat betreft wat ik zoek, daarom vraag ik even hulp!

Heb een combobox en daarin staat items(fiets,auto,trein,bus)
Nu wil ik graag, als ik een item selecteer, dat er dan op DIE naam gefilterd word...hoe doe ik dat?

Heb al een datagrid waarin de gegevens door elkaar worden weergegeven! (verbonden met een database)

16 antwoorden

Gesponsorde links
Offline nemesiskoen - 03/11/2008 23:00
Avatar van nemesiskoen Gouden medaille

PHP expert
Dan moet je de datagrid zijn datasource opnieuw instellen, op basis van de filtergegevens. De dataset/datatable kan je dan via een eigen geschreven functie filteren, opnieuw toewijzen en opnieuw databinden.
Offline Stijn - 03/11/2008 23:01
Avatar van Stijn PHP expert Je zal bij het klikken van een item een routine moeten maken. In die routine zal je een query maken met een WHERE clause. Dan zal je de resultaten toeverwijzen aan je datagrid.
Offline rredspike1 - 03/11/2008 23:04 (laatste wijziging 03/11/2008 23:11)
Avatar van rredspike1 Lid Ok dat bedoel ik stijn!

Zou je een voorbeeldje kunnen geven?
Denk wel dat ik je snap hoor zoiets als

  1. Dim strFilteren As String = ("SELECT Categorie FROM Producten WHERE Categorie = '" & combobox.Selecteditem & "'")
  2. Datagrid.Refresh()


zoiets?
Offline Abbas - 03/11/2008 23:11 (laatste wijziging 03/11/2008 23:12)
Avatar van Abbas Gouden medaille

Crew .NET
Alleen is het dan: uwComboBox.SelectedItem.ToString()

Nee, niet refresh. De opgehaald gegevens plaats je dan in een DataSet en die DataSet gebruik je als DataSource voor je DataGrid.
Offline rredspike1 - 03/11/2008 23:14 (laatste wijziging 03/11/2008 23:17)
Avatar van rredspike1 Lid huh hoe bedoel je titjes?

Hoe ververs ik een datagrid eigenlijk?

Edit:
Dit heb ik nu alleen, dat kan nooit goed zijn...
De verbinding staat als 'public' variable bovenin..
  1. Private Sub cmbCategorieFilteren_Inventaris_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbCategorieFilteren_Inventaris.SelectedIndexChanged
  2. Dim strFilteren As String = "SELECT Categorie FROM Producten WHERE Categorie = '" & cmbCategorieFilteren_Inventaris.SelectedItem.ToString & "'"
  3. End Sub
Offline nemesiskoen - 03/11/2008 23:30
Avatar van nemesiskoen Gouden medaille

PHP expert
Laat de code even zien waar je je dataset/datatable aan je datagrid toewijst
Offline Abbas - 03/11/2008 23:33
Avatar van Abbas Gouden medaille

Crew .NET
Die zou eerlijk gezegd binnen die Sub moeten staan die hij net heeft gegeven, of op z'n minst dan een aanroep naar een functie waar dit gedaan wordt! 
Offline rredspike1 - 03/11/2008 23:39 (laatste wijziging 03/11/2008 23:41)
Avatar van rredspike1 Lid
  1. 'TODO: This line of code loads data into the 'MSPDataSet.Producten' table. You can move, or remove it, as needed.
  2. Me.ProductenTableAdapter.Fill(Me.MSPDataSet.Producten)


Dit is alles wat ik heb + die andere code...

Ik heb gewoon een datagridview gesleept naar mn form en toen verbonden met mn database met desbetreffende table(producten)...en toen deed ie het..

Offline Abbas - 03/11/2008 23:49
Avatar van Abbas Gouden medaille

Crew .NET
Je maakt een DataSet en vult die met de gegevens die je ophaalt met de query (met die SelectedItem) en dan wijs je de DataSet toe aan je GridView.
Offline rredspike1 - 03/11/2008 23:52 (laatste wijziging 03/11/2008 23:53)
Avatar van rredspike1 Lid
  1. Dim Filteren As New DataSet etc!!
  2. Dim strFilteren As String = "SELECT Categorie FROM Producten WHERE Categorie = '" & cmbCategorieFilteren_Inventaris.SelectedItem.ToString & "'"

En dan vat ik het niet meer 
Offline Abbas - 03/11/2008 23:56
Avatar van Abbas Gouden medaille

Crew .NET
Baah, niet zo moeilijk eigenlijk! 

  1. Dim myConn As New OleDb.OleDbConnection("CONNECTIONSTRING")
  2. Dim myDS As New DataSet()
  3. Dim strQuery As String = "SELECT...."
  4. Dim myAdapter As New OleDb.OleDbDataAdapter(strQuery, myConn)
  5. myAdapter.Fill(myDS)
  6. uwGridView.DataSource = myDS


Succes! 
Offline rredspike1 - 04/11/2008 00:04 (laatste wijziging 04/11/2008 00:27)
Avatar van rredspike1 Lid Bedankt trouwens 

Alleen de filter filter niet de categorie!

Hmmm...eerst geeft de datagrid alle producten weer...daarna kies ik via een combobox op categorie en dan...selecteer ik er 1 en dan zie ik niks meer terwijl er in de Database toch echt wel producten aan die categorie gekoppeld zijn...

Wat nu?
Offline Abbas - 04/11/2008 00:38
Avatar van Abbas Gouden medaille

Crew .NET
Misschien is je query dan verkeerd opgebouwd?
Offline rredspike1 - 04/11/2008 01:07 (laatste wijziging 04/11/2008 01:09)
Avatar van rredspike1 Lid Query is toch gewoon...
  1. "SELECT Categorie FROM Producten WHERE Categorie = '" & combobox.SelectedItems.ToString "'"


Heb wel in de database een relatie lopen tussen
Tabel Categorieen.Categorie (PK) Tabel Producten.Categorie
Offline Abbas - 04/11/2008 01:44
Avatar van Abbas Gouden medaille

Crew .NET
Moet je dan niet de productnaam selecteren in plaats van de categorie?!?! 

  1. Dim strQuery As String = "SELECT productNaam FROM Producten WHERE Categorie = '" & combobox.SelectedItems.ToString() & "' "
Offline rredspike1 - 04/11/2008 12:08
Avatar van rredspike1 Lid Heb ik ook aangepast moet inderdaad productnaam zijn, maar nog steeds lege velden...hmm waar kan dat nu aan liggen ?
vreemd..
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.198s