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

I have this code, but it only show me the label, without the checkbox, but I need both.

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

To understand how the CheckboxColumn header cell is rendered check the renderHeaderCellContent() method of yii\grid\CheckboxColumn class.

If you want to set the header using default implementation of CheckboxColumn you should do it like this:

use yii\helpers\Html;

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

Note that you need specify name of checkbox exactly like that - selection_all (unless you change the name property).

This name is calculated dynamically (name concatenated with _all string) and then used in registered javascript. If you set it wrong, the massive selection won't be working.