2017-08-07 1 views
1

Je veux changer le format d'affichage de GridView dans Yii 2. Par exemple, je veux avoir des lignes et des colonnes de données comme les marchés Internet affichant des produits. Par exemple dans chaque ligne je veux avoir 4-5 produits. Voici un exemple d'utilisation de GridView par défaut.Comment changer le format Gridview dans yii2?

<?= GridView::widget([ 
     'dataProvider' => $dataProvider, 
     'filterModel' => $searchModel, 
     'columns' => [ 
      ['class' => 'yii\grid\SerialColumn'], 

      'id', 
      'sim_num', 
      'network', 
      'twog_network', 
      'threeg_network', 
      // 'fourg_network', 
      // 'bady_struct', 
      // 'process', 
      // 'other:ntext', 
      // 'os', 
      // 'gesture', 
      // 'items', 
      // 'speaker', 

      ['class' => 'yii\grid\ActionColumn'], 
     ], 
    ]); ?> 

Comment afficher les données de base de données dans un format comme la table html et déterminer le nombre de lignes et de colonnes avec elle ?? pagination

Merci;)

Répondre

2

GridView est pour afficher des données dans un format de table. Ce que vous cherchez est ListView.

Cela prend en charge la pagination tout comme GridView, vous utilisez également le fournisseur de données. Avec ListView, vous pouvez définir votre propre "vue de chaque élément" pour être ce que vous voulez.

Voir l'article dans le Guide.

+0

est-il possible d'ajouter un filtre pour la recherche en vue liste? – areff

+0

Vous filtrez en utilisant le fournisseur de données oui, tout comme dans un GridView. La différence est la forme de filtre n'est pas combinée avec la table de données comme dans un GridView, vous devez l'ajouter à côté de ListView. – Bizley

+0

merci :) laissez-moi le tester – areff

0

Reportez-vous ci-dessous Exemple. J'espère que ça t'aidera.

<?= GridView::widget([ 
    'dataProvider' => $dataProvider, 
    'filterModel' => $searchModel, 
    'layout'=>"{items}\n{summary}\n{pager}", 
    'options' => ['style' => 'overflow-x:scroll;width:100%'], 
    'columns' => [ 
     [ 
      'class' => 'yii\grid\CheckboxColumn', 
      'checkboxOptions' => function($model, $key, $index, $column) { 
       return ['value' => $model->who_we_are_id]; 
      } 
     ], 

     [ 
      'attribute' => 'language_id', 
      'label' => 'Language', 
      'value' => 'languages.name', 
     ], 
     // 'description', 

     [ 
      'attribute'=>'image', 
      'label' => 'Image', 
      'content'=>function($data){ 
       $web_path = Yii::getAlias('@webroot'); 
       if(file_exists($web_path."/images/who_we_are/".$data->image) && !empty($data->image)){ 

        $url = \Yii::$app->request->BaseUrl.'/images/who_we_are/'.$data->image; 
        return Html::img($url,["width"=>"50px","height"=>"50px"]); 
       } 
      } 
     ], 
     'url', 
     [ 
      'attribute'=>'created_on', 
      'label' => 'Date & Time', 
      'content'=>function($data){ 
       if($data->created_on != '') 
        return date("m-d-Y H:i:s",strtotime($data->created_on)); 
      } 
     ], 

     ['class' => 'yii\grid\ActionColumn','template' => '{update}'], 
    ], 
]); ?>