Yii2的GridView afterRow功能

问题描述 投票:0回答:2

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))
        );
    },
....
gridview yii2
2个回答
0
投票

在GridView控件类的方法renderTableBody()不允许这样的功能。你可以试着重写此方法或在您的afterRow匿名函数检查它是否是最后一个索引。

我觉得第二个选择是好。


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, ...],
© www.soinside.com 2019 - 2024. All rights reserved.