Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    45

    [C#2010 Winform]Filtrare i record di un dataGridView tramite una comboBox

    Ho un dataGridView che prende i dati da una lista ovvero:

    Codice PHP:
    List<miotipocaricaListaDaFile("path"); dataGridView1.DataSource a
    e una comboBox con

    Codice PHP:
    comboBox1.DataSource acomboBox1.DisplayMember "id"
    Adesso vorrei far in modo che quando cambio l'ID nella comboBox in automatico vengano visualizzati soltanto tutti i record già presenti nel dataGridView che abbiano l'id selezionato nella combo

    Ovvero come se eseguisse questa query:
    codice:
    SELECT * FROM a WHERE ID='comboBox.selecteditem'
    EDIT:
    Ho temporaneamente risolto aggiungendo un foreach sul comboBox1_SelectedIndexChanged che aggiunge ad una seconda lista soltanto gli elementi che hanno la mia condizione... c'è un metodo più veloce per fare questo?

  2. #2
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,539
    se la tua classe ha una proprietà id, la risposta è linq...
    codice:
    dataGridView1.DataSource = a.Where(p=>p.id==TuoID);

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    45
    Mi restituisce un IEnumerable, non me lo fa mettere nel datagridview...
    Col foreach mi funziona, col where il datagrid resta vuoto

  4. #4
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,539
    aggiungi un ToList() :
    codice:
    dataGridView1.DataSource = a.Where(p=>p.id==TuoID).ToList();

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.