Cuestión : Rejilla del filtro

Hola el

I tiene una rejilla con textbox.

I que puebla la rejilla con el código siguiente donde el datasourceaccountnature tiene los datos. Ahora si cuando el usuario comienza a entrar los datos en rejilla que quiero filtrar la rejilla basada en el texto incorporado por el usuario. ¿Cómo hago esto? al mismo tiempo, cuando el usuario comienza a presionar la tecla de retroceso y hace el textbox vaciar todos los expedientes debe aparecer en rejilla como estaba a la hora de cargar el
{datasourceaccountnature del grid

PopulateGrid () del
var = nuevo EntityCollectiontureEntity> (nuevo AccountnatureEntityFactory ()); bucketaccountnature del
var = nuevo RelationPredicateBucket ();

usar (adapteraccountnature del var = nuevo DataAccessAdapter ())
{bucketaccountnature del
. PredicateExpression. Agregar (== StandardFlag.recordvalidflag de AccountnatureFields.Flag);

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

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

Respuesta : Rejilla del filtro

Cómo filtrar su fuente de datos depende de qué tipo de datasource usted utiliza…

Para DataTable, usted puede utilizar BindingSource.Filter o DataView o en algunos casos SqlDataSourceView.FilterExpression.

De su código arriba, parece el datasource que usted utiliza (datasourceaccountnature) es un tipo de la colección (de EntityCollection).

Típicamente para las colecciones como datasource en gridview, la filtración se puede hacer según las indicaciones del código abajo:

Ver si esto ayuda.
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:
clase pública YourClass
        {
            Datasourceaccountnature de EntityCollection;

            PopulateGrid vacío privado ()
            {
                el datasourceaccountnature de // ahora es un miembro de la clase

                datasourceaccountnature = nuevo EntityCollection (nuevo AccountnatureEntityFactory ());

                bucketaccountnature del var = nuevo RelationPredicateBucket ();

                … // el otro código no demostrado aquí
            }

            vacío privado textBox1_TextChanged (remitente del objeto, EventArgs e)
            {
                el datasourceaccountnature de // es el que usted utilizó en el método de PopulateGrid en su código.
                // hace datasourceaccountnature como miembro de la clase de modo que poder utilizarla aquí.

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

            bool privado FilterList (AccountnatureEntity a)
            {
                // al filtro por un campo de AccountnatureEntity
                // de vuelta verdad si ese valor del campo contiene el texto incorporado por el usuario en textBox1
                falso de otra manera de vuelta de //.

                // por ejemplo si AccountnatureEntity tiene un campo nombrado “título”, entonces 
                a.Title.Contains de vuelta (textBox1.Text);
            }
        }
Otras soluciones  
 
programming4us programming4us