2017-09-20 5 views
0

Afficher le code:Filtre Gridview avec Tag

[ 
     'attribute' => 'name', 
     'filterType'=>GridView:: FILTER_SELECT2, 
     'filter'=>ArrayHelper::map(\app\models\Item::find()->orderBy('category')->asArray()->all(), 'name', 'name'), 
     'filterWidgetOptions'=>[ 
      'pluginOptions'=>['allowClear'=>true, 'minimuminputLength' => 3], 
     ], 
     'filterInputOptions'=>['placeholder'=>'Any Item', 'multiple' => true ], 
     'group'=>true, // enable grouping 
     'label' => 'Item', 
     'contentOptions' => 
      ['style'=>'max-width: 150px; font-size: 12px;overflow: auto; word-wrap: break-word;'], 

    ], 

Ce code est le travail, mais la valeur de l'étiquette doit être l'élément Valeur de nom sélectionné dans la liste, alors que ce que je veux est que je peux taper mot de quoi que ce soit pour la balise filtre/recherche au lieu de je devrais choisir la valeur de la liste. Merci Vous

Répondre

0

Utilisez le code ci-dessous pour obtenir un filtre typeahead Valeur dans la Grille:

 [ 
      'attribute' => 'attributeName', 
      'format' => 'raw', 
      'value' => function ($data) { 
       return$data->attributeName; 
      }, 
      'filter' => Select2::widget([ 
       'model' => $searchModel, 
       'attribute' => 'attributeName', 
       'data' => Model::getAllModelListFunction(), 
       'options' => [ 
        'placeholder' => 'Select', 
       ], 
       'pluginOptions' => [ 
        'allowClear' => true 
       ], 
      ]), 
     ], 

Le getAllModelFunction devrait être comme ceci:

public static function getAllModelFunction() 
{ 
    $data = self::find()->select('id,name')->asArray()->all(); 
    return ArrayHelper::map($data, 'id', 'title'); 
} 

N'oubliez pas d'installer et d'utiliser widget suivant dans le fichier Index.php:

use kartik\select2\Select2; 
+0

Où devrais-je mettre ce 'public s Fonction getAllModelFunction() { $ data = self :: find() -> select ('id, name') -> asArray() -> all(); return ArrayHelper :: map ($ data, 'id', 'titre'); } '? sur le contrôleur? – adn

+0

Dans le modèle respectif –