Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [C#] Filtrare un Dataset

    Salve

    ho questo problema: devo creare un metodo che, preso in ingresso una stringa assolutamente random ed il DataSet da filtrare (che contiene una tabella), mi consenta di "filtrare" i dati su un dataset, restituendo il DataSet originario in cui però compaiono solo le righe che mi interessano.

    Esempio:

    Ho un Dataset con 1 sola tabella avente 4 righe e 5 colonne.
    Ho una stringa del tipo "prova".

    Dovrei effettuare una ricerca nel dataset in modo da restituire un nuovo DataSet che contiene solo le righe le cui celle contengono la parola "prova".

    La mia domanda è: è più conveniente ciclare per righe o per colonne?
    Potreste buttarmi giù qualche esempio di codice in C#?

    Grazie mille!

  2. #2
    Utente bannato
    Registrato dal
    Nov 2008
    Messaggi
    22
    Credo che tu debba ciclare in quanto nella table del dataset non so se si pul fare una select pura.

  3. #3

    Re: [C#] Filtrare un Dataset

    codice:
    IEnumerable<DataRow> query = from row in tuaTable.AsEnumerable() 
                                             where row.Field<string>("tuacolonna").Contains("prova")
                                             && row.Field<string>("altratuacolonna").Contains("prova")
                                             select row;
                DataTable nuovaDataTable = query.CopyToDataTable();
    Saluti a tutti
    Riccardo

  4. #4
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    I got the remedy

  5. #5
    ritieni linq to dataset senza senso?
    Saluti a tutti
    Riccardo

  6. #6
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    in questo caso non serve "scomodare" il linq per fare il filtro, visto che il DataTable ti offre già questa funzionalità tramite il dataview, inoltre nel esempio che hai fatto c'è uno spreco di memoria.
    I got the remedy

  7. #7
    linq to dataset è li proprio per fare filtri ed è stato pensato perchè è scomodo farli usando dataview o select sulla table. Puoi continuare a usare queste due vecchie soluzioni ma non le definirei le due uniche soluzioni sensate. Cosa intendi per " inoltre nel esempio che hai fatto c'è uno spreco di memoria"?
    Saluti a tutti
    Riccardo

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 © 2024 vBulletin Solutions, Inc. All rights reserved.