2017-08-07 4 views
1

Ich möchte Anzeigeformat von GridView in Yii 2 ändern. Zum Beispiel möchte ich einige Zeilen und Spalten von Daten wie Internet-Märkte, die Produkte anzeigen. Zum Beispiel in jeder Zeile möchte ich 4-5 Produkte haben. Hier ist ein Beispiel für die Verwendung von GridView standardmäßig.Wie ändere ich das Gridview-Format in 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'], 
     ], 
    ]); ?> 

Wie in einem Format wie Tabelle HTML-Daten aus der Datenbank zeigen, und Zeilen und Spalten Nummer mit Paginierung darin bestimmen ??

Dank;)

Antwort

2

Gridview ist für Daten in einem Tabellenformat anzeigen. Was Sie suchen, ist ListView.

Dies unterstützt Paginierung wie GridView, Sie verwenden auch Datenprovider. Mit ListView können Sie Ihre eigene "Elementansicht" so einstellen, wie Sie möchten.

Siehe den Artikel in der Guide.

+0

ist es möglich, Filter für die Suche in der Listenansicht hinzuzufügen? – areff

+0

Sie filtern mit Datenprovider ja ja, genau wie in einem GridView. Der Unterschied besteht darin, dass die Filterform nicht wie in einer GridView mit der Datentabelle kombiniert ist, sondern Sie sie neben ListView hinzufügen müssen. – Bizley

+0

danke :) lassen Sie mich es testen – areff

0

Siehe untenstehendes Beispiel. Ich hoffe es hilft dir.

<?= 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}'], 
    ], 
]); ?> 
Verwandte Themen