2016-08-31 6 views
-2

シリアルクラスとチェックボックスクラスを同じ列に追加する必要があります。GridViewウィジェットの1列に両方のクラスを追加する方法YII2

 <?= GridView::widget([ 
    'dataProvider' => $dataProvider, 
    'filterModel' => $searchModel, 
    'columns' => [ 
    ['class' => 'yii\grid\CheckboxColumn', 
     'header' => '', 
     'checkboxOptions' => function($model) { 
     if($model->featured=="Y"){ 
      $bool =true; 
     }else{ 
      $bool =false; 
     } 

     return ['checked' => $bool,'value'=>$model->user_id];},'contentOptions' => ['style'=>'text-align: center;font-size: 13px;',], 
     ], 

     ['class' => 'yii\grid\SerialColumn', 
     'header' => 'S.No', 
     'headerOptions' => ['style'=>'text-align: center;background-color: #868686;color: white;font-size: 13px;font-weight: bold;',], 
     'contentOptions' => ['style'=>'text-align: center;font-size: 13px;',], 
     ], 
], ]); ?> 
+0

この提案のように値の匿名関数を使用する必要があることCoud ...私は事前にasap.thanksを助けてください。なぜあなたは "2つの列"を1つの列に必要としているのですか?..あなたが必要としているものをもっと良く説明してください – scaisEdge

+0

私のプロジェクトでは、チェックボックスとS.Noは1つの列になります。 – shahid

+0

残念ながら、公式と同じように、あなたの質問は明確ではありません。私は理解できません。あなたの質問をより良い方法で公式化しようとしてください。 – scaisEdge

答えて

0

あなたは=> RAW形式やご質問は明確ではない

<?= GridView::widget([ 
'dataProvider' => $dataProvider, 
'filterModel' => $searchModel, 
'columns' => [ 
    ['class' => 'yii\grid\CheckboxColumn', 
    'header' => '', 
    'format' => 'raw', 
    'value' => function($model, $key, $index) { 
     return "<input type='checkbox' name='select[]' ><span> <?= $index ?></span>" 
    }, 
    .... 
    ], 

    ..... 
], ]); ?> 
+0

私はそれを使用しましたが、は増加しません。私はその数を増やす必要があります。ありがとうございます。\ – shahid

+0

@shahid a。単純な方法は、あなたのスパンでこの値を表示する行をカウントするためのモデル属性を使用しています。 – scaisEdge

+0

私はモデルの属性をカウントする1つの例を教えてください。事前に感謝 – shahid

関連する問題