À l'aide de Yii2 avec le tableau de données et d'un Gridview avec tri et de filtre

J'ai un tableau

$resultData = [
    array("id"=>1,"name"=>"Cyrus","email"=>"[email protected]"),
    array("id"=>2,"name"=>"Justin","email"=>"[email protected]"),
    array("id"=>3,"name"=>"Mason","email"=>"[email protected]"),
    array("id"=>4,"name"=>"Fulton","email"=>"[email protected]"),
    array("id"=>5,"name"=>"Neville","email"=>"[email protected]"),
    array("id"=>6,"name"=>"Jasper","email"=>"[email protected]"),
    array("id"=>7,"name"=>"Neville","email"=>"[email protected]"),
    array("id"=>8,"name"=>"Neville","email"=>"[email protected]"),
    array("id"=>9,"name"=>"Ronan","email"=>"[email protected]"),
    array("id"=>10,"name"=>"Raphael","email"=>"[email protected]"),     
    ];

Un dataprovider :

$dataProvider = new ArrayDataProvider([
        'key'=>'id',
        'allModels' => $resultData,
        'sort' => [
            'attributes' => ['id', 'name', 'email'],
        ],
]);    

Et le contrôle Gridview :

echo GridView::widget([
        'dataProvider' => $dataProvider,

        'columns' => [
            ['class' => 'yii\grid\SerialColumn'],
            'id',

            [
            'attribute' => 'name', 
            'value' => 'name',
            ],
            [
            "attribute" => "email",
            'value' => 'email',
            ]

    ]
]);

Comme tel, le code me faire Afficher le tableau dans une grille, et la possibilité de les trier en cliquant sur les colonnes. C'est ok.

Mais comment faire pour utiliser le filtrage ?

J'ai essayé avec les éléments suivants :

$searchModel = ['id' => null, 'name' => '', 'email' => ''];

echo GridView::widget([
        'dataProvider' => $dataProvider,
        'filterModel' => $searchModel,

        'columns' => [
            ['class' => 'yii\grid\SerialColumn'],
            'id',

            [
            'attribute' => 'name', 
            'value' => 'name',
            ],
            [
            "attribute" => "email",
            'filter' => '<input class="form-control" name="filteremail" value="da" type="text">',
            'value' => 'email',
            ]

    ]
]);

Mais cela ne fonctionne pas.
Ne je filtre à moi-même l'objet selon l' $d'obtenir une valeur ?

Que voulez-vous dire par "ça ne marche pas"? La recherche des entrées ne sont pas affichés?
Ce que je veux dire par pas de travail, c'est que l'entrée sont montrent que si j'ai mis le filtre comme dans l'exemple. 'filter' => '<input class="form-control" name="filteremail" value="da" type="text">', 'valeur' => 'email', Mais les données ne sont pas filtrés.

OriginalL'auteur Ydakilux | 2015-02-10