Frage : Filter-Rasterfeld

Hallo haben

I ein Rasterfeld mit textbox.

I morgens das Rasterfeld mit folgendem Code bevölkernd, in dem datasourceaccountnature die Daten hat. Jetzt, wenn, wenn Benutzer anfängt hereinzukommen, die Daten im Rasterfeld, das ich das Rasterfeld filtern möchte, das auf dem Text basiert, der vom Benutzer eingeführt wird. Wie tue ich dies? gleichzeitig wenn Benutzer anfängt, Rückschritt zu bedrängen und die area per informazioni bildet, die alle Aufzeichnungen leeren sollten im Rasterfeld erscheinen, wie es zu der Zeit des Ladens des grid

privaten leeren PopulateGrid ()
war {
var datasourceaccountnature = neues EntityCollectiontureEntity> (neues AccountnatureEntityFactory ());
var bucketaccountnature = neues RelationPredicateBucket ();

using (var adapteraccountnature = neues DataAccessAdapter ())
{
bucketaccountnature. PredicateExpression. Hinzufügen (AccountnatureFields.Flag == StandardFlag.recordvalidflag);

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

dgridaccountnature.DataSource = datasourceaccountnature;
}
}

Antwort : Filter-Rasterfeld

Wie man Ihre Datenquelle abhängt filtert von, welcher Art der Datenquelle Sie benutzen…

Für DataTable können Sie BindingSource.Filter oder DataView oder in einigen Fällen SqlDataSourceView.FilterExpression verwenden.

Von Ihrem Code oben, sieht es wie die Datenquelle aus, die Sie (datasourceaccountnature) sind eine Art der Ansammlung (von EntityCollection) verwenden.

Gewöhnlich für Ansammlungen als Datenquelle im gridview, kann die Entstörung wie in dem Code gezeigt unten erfolgt werden:

Sehen, wenn dieses hilft.
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:
allgemeine Kategorie YourClass
        {
            EntityCollection datasourceaccountnature;

            privates leeres PopulateGrid ()
            {
                // datasourceaccountnature ist jetzt ein Kategorienmitglied

                datasourceaccountnature = neues EntityCollection (neues AccountnatureEntityFactory ());

                var bucketaccountnature = neues RelationPredicateBucket ();

                … // anderer Code nicht hier gezeigt
            }

            private Lücke textBox1_TextChanged (Gegenstandabsender, EventArgs e)
            {
                // datasourceaccountnature ist das, das Sie in der PopulateGrid Methode in Ihrem Code verwendeten.
                // bilden datasourceaccountnature als Mitglied der Kategorie, damit wir sie hier benutzen können.

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

            privates bool FilterList (AccountnatureEntity A)
            {
                // zum Filter durch ein Feld von AccountnatureEntity
                Rückhol // richten aus, wenn dieser Feldwert den Text enthält, der vom Benutzer in textBox1 eingeführt wird
                Rückholfalsches // anders.

                // zum Beispiel wenn AccountnatureEntity ein Feld hat, das „Titel“ genannt wird, dann 
                Rückhola.Title.Contains (textBox1.Text);
            }
        }
Weitere Lösungen  
 
programming4us programming4us