Questione : Griglia del filtro

Ciao il

I ha una griglia con textbox.

I che popola la griglia con il seguente codice dove il datasourceaccountnature ha i dati. Ora se quando l'utente comincia entrare i dati nella griglia che voglio filtrare la griglia basata su testo digitato dall'utente. Come faccio questo? allo stesso tempo, quando l'utente comincia premere lo spazio posteriore e fa la casella di testo svuotare tutte le annotazioni dovrebbe comparire nella griglia come era ai tempi del carico del
{datasourceaccountnature del grid

PopulateGrid () del
varietà = nuovo EntityCollectiontureEntity> (nuovo AccountnatureEntityFactory ()); bucketaccountnature del
varietà = nuovo RelationPredicateBucket ();

using (adapteraccountnature di varietà = nuovo DataAccessAdapter ())
{bucketaccountnature del
. PredicateExpression. Aggiungere (== StandardFlag.recordvalidflag di AccountnatureFields.Flag);

                adapteraccountnature.FetchEntityCollection (datasourceaccountnature, bucketaccountnature, 0,
nuovo SortExpression (AccountnatureFields.Description |
SortOperator.Ascending));

dgridaccountnature.DataSource = datasourceaccountnature;
}
del
} class= del

Risposta : Griglia del filtro

Come filtrare la vostra fonte di dati dipende da che tipo di datasource usate…

Per DataTable, potete usare BindingSource.Filter o DataView o in alcuni casi SqlDataSourceView.FilterExpression.

Dal vostro codice qui sopra, assomiglia al datasource che usate (datasourceaccountnature) siete un tipo dell'accumulazione (di EntityCollection).

Tipicamente per le collezioni come datasource nel gridview, la filtrazione può essere fatta secondo le indicazioni del codice qui sotto:

Vedere se questo aiuta.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
codice categoria pubblico YourClass
        {
            Datasourceaccountnature di EntityCollection;

            PopulateGrid vuoto riservato ()
            {
                il datasourceaccountnature di // ora è un membro del codice categoria

                datasourceaccountnature = nuovo EntityCollection (nuovo AccountnatureEntityFactory ());

                bucketaccountnature di varietà = nuovo RelationPredicateBucket ();

                … // l'altro codice non indicato qui
            }

            vuoto riservato textBox1_TextChanged (mittente dell'oggetto, EventArgs e)
            {
                il datasourceaccountnature di // è quello che avete utilizzato nel metodo di PopulateGrid nel vostro codice.
                // fa il datasourceaccountnature come membro del codice categoria in moda da poterli usarli noi qui.

                dataGridView1.DataSource = datasourceaccountnature.FindAll (FilterList);
            }

            bool riservato FilterList (AccountnatureEntity a)
            {
                // al filtro da un campo di AccountnatureEntity
                // di ritorno allinea se quel valore del campo contiene il testo digitato dall'utente in textBox1
                falso al contrario di ritorno di //.

                // per esempio se AccountnatureEntity ha un campo chiamato “titolo„, allora 
                a.Title.Contains di ritorno (textBox1.Text);
            }
        }
Altre soluzioni  
 
programming4us programming4us