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

Liz*_*Liz 1 php yii2

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

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

aro*_*hev 7

要了解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',
    ]),
],
Run Code Online (Sandbox Code Playgroud)

请注意,您需要指定完全相同的复选框名称 - selection_all(除非您更改名称属性).

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