Yii2 Gridview afterRow功能

时间:2015-11-09 19:21:10

标签: gridview yii2

Yii2 Gridview的afterRow在每个数据模型之后调用匿名函数。有没有办法只在最后一个数据模型之后做一个匿名函数?我想添加空行和结尾。

<?= GridView::widget([
    'dataProvider' => $dataProvider,
    'id' => 'table',
    'tableOptions' =>[
        'class'=>'table table-condensed table-bordered'
    ],
    'afterRow' => function($model, $key, $index) {
        return Html::tag('tr',
            Html::tag('td', Html::textInput($name))
            .Html::tag('td', Html::textInput($name))
        );
    },
....

2 个答案:

答案 0 :(得分:0)

GridView类中的方法renderTableBody()不允许此类功能。 您可以尝试覆盖此方法,或者检查afterRow匿名函数(如果它是最后一个索引)。

我认为第二种选择更好。

答案 1 :(得分:0)

添加'showFooter'=>是,

  

示例:

<?= \yii\grid\GridView::widget([
    'dataProvider' => $dataProvider,
    'showFooter' => true,
    'columns' => [
            [
                'attribute' => 'id',
                'footerOptions' => ['colspan' => '2'],
                'footer' => 'data footer',  // or anonymous function
            ],

            [
                'attribute' => 'text',
                'footerOptions' => ['style' => 'display:none;'],
            ],
        ],
]); ?>

'showFooter'=>true,
'footerRowOptions'=>['style'=>'property1:style, property2:style, ...],