2017-10-28 6 views
1

私はyii2を初めて使っていて、私のプロジェクトでyii2 gridviewを使っています。列見出しの近くの各列にチェックボックスを入れることは可能ですか?ここ はコードyii2 gridviewの列見出しの各セルでチェックボックスを取得する方法は?

<?php 

    $gridColumns = [ 
        ['class' => 'yii\grid\SerialColumn'], 
        ['class' => 'yii\grid\CheckboxColumn'], 

        'name', //checkbox then 'name' 
        'company_mail', //checkbox then 'company_mail' for each column 
        'no_employees', 
        'email:email', 
        . 
        . 
        .]; 
      echo GridView::widget([ 
      'dataProvider' => $dataProvider, 
      'filterModel' => $searchModel, 
      'columns' => $gridColumns, 
    ]); 
    ?> 

答えて

0

を参照してください。

<?php 

    $gridColumns = [ 
         ['class' => 'yii\grid\SerialColumn'], 
         ['class' => 'yii\grid\CheckboxColumn'], 
         [ 
          'header' => '<input type="checkbox"> Name', 
          'attribute' => 'name', 
         ], 
         [ 
          'header' => '<input type="checkbox"> Company Email', 
          'attribute' => 'company_mail', 
         ], 
         'no_employees', 
         'email:email', 


        ]; 

    echo GridView::widget([ 
       'dataProvider' => $dataProvider, 
       'filterModel' => $searchModel, 
       'columns' => $gridColumns, 
      ]); 
?> 

あなたは、列のすべての行にあるチェックボックスをしたい場合は、あなたのコードは

<?php 

    $gridColumns = [ 
         ['class' => 'yii\grid\SerialColumn'], 
         ['class' => 'yii\grid\CheckboxColumn'], 
         [ 
          'header' => '<input type="checkbox"> Name', 
          'attribute' => 'name', 
         ], 
         [ 
          'header' => '<input type="checkbox"> Company Email', 
          'attribute' => 'company_mail', 
          'value' => function ($model) {      
            return '<input type="checkbox" name="YOURCHECKBOXNAME"> '.$model->company_mail; 
          }, 
         ], // this will generate checkbox at header as well as each rows of this column 
         'no_employees', 
         'email:email', 


        ]; 

    echo GridView::widget([ 
       'dataProvider' => $dataProvider, 
       'filterModel' => $searchModel, 
       'columns' => $gridColumns, 
      ]); 
?> 
+0

は、それが動作する...本当にありがとうございますする必要があります.... – Goli

0

最良の方法は、あなた自身のDataColumnクラスを作成し、チェックボックスで、ヘッダーのデフォルト値を設定されています。

<?php 
class myDataColumn extends yii\grid\DataColumn { 

    public $header = "somehtml"; 

} 
?> 

グリッドビューでは、カスタムdataColumnの名前を持つdataColumnClassプロパティを設定します。あなたのクラスを使用するのは、classプロパティが定義されていない属性だけです。例としてActionColumnはカスタムヘッダーを表示しません。

単純な固定html以上のものが必要な場合は、メソッドrenderHeaderCellContentをオーバーライドして列のラベルと連結することもできます。

はここにあなたのソリューションですYii2 Guide: DataColumn

関連する問題