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.