我需要在gridview行上渲染html。
我已经尝试了这个但是然后它在所有行上渲染了html,但我只是希望它在第一行渲染..
<?php echo GridView::widget([
'dataProvider' => $dataProvider,
'columns' => [
[
'label'=>'bla',
'format' => 'raw',
'value'=>function ($data) {
return \yii\helpers\Html::dropDownList("test", null, [0=>"hello",1=>"hello2"]);
},
],
],
]); ?>
答案 0 :(得分:0)
您可以像这样定义您的功能:
'value'=>function ($model, $key, $index, $widget) {
$ index应该包含显示行的编号。所以你可以做:
'value'=>function ($model, $key, $index, $widget) {
if(!$index)
return \yii\helpers\Html::dropDownList("test", null, [0=>"hello",1=>"hello2"]);
},