如何在Yii2的GridView中个性化yii \ grid \ checkboxColumn的标题

时间:2014-12-29 14:12:35

标签: php yii2

我有这个代码,但它只显示标签,没有复选框,但我需要两个。

GridView::widget([
'dataProvider' => $dataProvider,
'columns' => [
    ['class' => 'yii\grid\SerialColumn'],
    ['class' => 'yii\grid\DataColumn'
     .....],
    ['class' => 'yii\grid\CheckboxColumn',
        'header' => 'Check All',
    ]
]])

1 个答案:

答案 0 :(得分:6)

要了解CheckboxColumn标题单元格的呈现方式,请检查renderHeaderCellContent()类的yii\grid\CheckboxColumn方法。

如果你想使用CheckboxColumn的默认实现设置标题,你应该这样做:

use yii\helpers\Html;

[
    'class' => 'yii\grid\CheckboxColumn',
    'header' => Html::checkBox('selection_all', false, [
        'class' => 'select-on-check-all',
        'label' => 'Check All',
    ]),
],

请注意,您需要指定复选框的名称 - selection_all(除非您更改name属性)。

此名称是动态计算的(name_all字符串连接),然后在注册的javascript中使用。如果你设置错了,那么大量的选择将无法正常工作。