2016-12-09 2 views
0

Ich benutze Yii2 Advanced Template. Im Folgenden finden Sie Code zum Generieren des Gridview-Widgets auf der Indexseite.sort link verschwindet, wenn verwendet 'Wert' Tag in yii2 gridview

<?= GridView::widget([ 
     'dataProvider' => $dataProvider, 
     'filterModel' => $searchModel, 
     'columns' => [ 
      ['class' => 'yii\grid\SerialColumn'], 
      'invoice_id', 
      [ 
       'label'=> 'Customer', 
       'value' => function ($model) { 
        return ucfirst($model->customer->customer_name); 
       }, 
       'enableSorting'=> TRUE, 
      ], 
      'invoice_type', 
      'timestamp' => [ 
       'label' => 'Sale/Purchase Date', 
       'attribute' => 'timestamp', 
       'format' => ['date', 'php:y-m-d h:i:s A'], 
      ], 
      'payment_option', 
      ['class' => 'yii\grid\ActionColumn','template'=>'{view} {delete}'], 
     ], 
    ]); 
?> 

Das Problem ist, trotz Verwendung von 'label' und 'enableSorting' für 'customer_name', wenn ich 'value' Eigenschaft verwenden, verschwindet die Sort-Link. So aktivieren Sie den Link zum Sortieren. Außerdem einen Schnappschuss meiner Ansicht hinzufügen;

SNAPSHOT

Nach Lösung des Problems, wenn ich die Art Link klicken, erhalte ich unten Fehler.

enter image description here

Antwort

0

Versuchen Sie, diese Spalte Konfiguration wie folgt zu ändern:

[ 
    'attribute' => 'customer.customer_name', 
    'label'=> 'Customer', 
    'value' => function ($model) { 
     return ucfirst($model->customer->customer_name); 
    }, 
], 
+0

Sie werden es nicht glauben! Ich habe sofort nach dem Posten dieses Problems versucht. Es bleibt immer noch dasselbe :( –

+3

Möglicherweise müssen Sie auch das 'sort' Attribut des' dataProvider' setzen, den Sie für die Grid-Ansicht verwenden. Überprüfen Sie dies http://stackoverflow.com/questions/27936787/how-i-do -custom-yii2-gridview-sort - die akzeptierte Antwort zeigt, wie man das 'sort' Attribut setzt – sm1979

+0

^^ Genau das. – Bizley