2016-12-09 17 views
0

私はYii2 Advanced Templateを使用しています。以下は、インデックスページ上にGridviewウィジェットを生成するためのコードです。yii2 gridviewで 'value'タグを使用するとソートリンクが消えます

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

問題は、私は「の値」プロパティを使用する際に「ラベル」と「CUSTOMER_NAME」の「enableSorting」を使用しているにもかかわらず、である、ソートリンクが消えます。ソートリンクを有効にする方法。私のビューのスナップショットも添付してください。

SNAPSHOT

は、問題を解決した後、私は、ソートのリンクをクリックしたときに、私はエラーの下に取得します。

enter image description here

答えて

0

このように、このカラム構成変更してください:あなたは信じられないでしょう

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

を!私はこの問題を投稿した直後に試しました。それでも変わりません:( –

+3

グリッドビューに使用している 'dataProvider'の' sort'属性を設定する必要があるかもしれません。これをチェックしてくださいhttp://stackoverflow.com/questions/27936787/how-i-do -custom-yii2-gridview-sort - 受け入れられた答えは、 'sort'属性を設定する方法を示しています – sm1979

+0

^^まさにこれ。 – Bizley

関連する問題