Class yii\grid\CheckboxColumn

继承yii\grid\CheckboxColumn » yii\grid\Column » yii\base\BaseObject
实现yii\base\Configurable
可用自版本2.0
源代码 https://github.com/yiisoft/yii2/blob/master/framework/grid/CheckboxColumn.php

CheckboxColumn 在网格视图中显示一列复选框.

要将 CheckboxColumn 添加到 网格视图, 请将其添加到 columns 配置中, 如下所示:

'columns' => [
    // ...
    [
        'class' => 'yii\grid\CheckboxColumn',
        // 你可以在这里配置其它属性
    ],
]

用户可以点击复选框以选择网格的行. 所选行可以通过调用以下 JavaScript 代码获得:

var keys = $('#grid').yiiGridView('getSelectedRows');
// 键是由与所选行关联的键组成的数组

有关 CheckboxColumn 的更多详细信息和使用信息, 请参阅 权威指南 - 显示数据 - 数据小部件(Data Widgets).

公共属性

隐藏继承的属性

属性类型描述定义在
$checkboxOptions array|Closure 复选框的 HTML 属性. yii\grid\CheckboxColumn
$content callable 这是一个可调用的函数, 将被用来生成每个单元格的内容. yii\grid\Column
$contentOptions array|Closure 数据单元格(tbody > tr > td)标签的 HTML 属性. yii\grid\Column
$cssClass string 将用于查找复选框的 css 类. yii\grid\CheckboxColumn
$filterOptions array 过滤器单元标签的 HTML 属性. yii\grid\Column
$footer string 页脚单元格内容. yii\grid\Column
$footerOptions array 页脚单元格(tfoot > tr > td)标签的 HTML 属性. yii\grid\Column
$grid yii\grid\GridView 拥有此列的网格视图对象. yii\grid\Column
$header string 标题单元格内容. yii\grid\Column
$headerOptions array 标题单元格(thead > tr > th)标签的 HTML 属性. yii\grid\Column
$multiple boolean 是否可以选择多行. yii\grid\CheckboxColumn
$name string 复选框输入字段的名称. yii\grid\CheckboxColumn
$options array 列组标记(colgroup 中对应列的 col 标签)的 HTML 属性. yii\grid\Column
$visible boolean 该列是否可见. yii\grid\Column

公共方法

隐藏继承的方法

方法描述定义在
__call() 调用不是类方法的已命名方法. yii\base\BaseObject
__construct() 构造函数. yii\base\BaseObject
__get() 返回对象属性的值. yii\base\BaseObject
__isset() 检查属性是否已设置, 即已定义且不为null. yii\base\BaseObject
__set() 设置对象属性的值. yii\base\BaseObject
__unset() 将对象属性设置为null. yii\base\BaseObject
canGetProperty() 返回一个值, 指示属性是否可读. yii\base\BaseObject
canSetProperty() 返回一个值, 指示属性是否可写. yii\base\BaseObject
className() 返回此类的完全限定名称. yii\base\BaseObject
hasMethod() 返回一个值, 指示方法是否已定义. yii\base\BaseObject
hasProperty() 返回一个值, 指示属性是否已定义. yii\base\BaseObject
init() 初始化对象. yii\grid\CheckboxColumn
registerClientScript() 注册所需的 JavaScript. yii\grid\CheckboxColumn
renderDataCell() 渲染数据单元格. yii\grid\Column
renderFilterCell() 渲染过滤器单元格. yii\grid\Column
renderFooterCell() 渲染页脚单元格. yii\grid\Column
renderHeaderCell() 渲染标题单元格. yii\grid\Column

受保护的方法

隐藏继承的方法

方法描述定义在
getHeaderCellLabel() 返回标题单元格标签. yii\grid\Column
getHeaderCheckBoxName() 返回标题复选框名称. yii\grid\CheckboxColumn
renderDataCellContent() 渲染数据单元格内容. yii\grid\CheckboxColumn
renderFilterCellContent() 渲染过滤器单元格内容. yii\grid\Column
renderFooterCellContent() 渲染页脚单元格内容. yii\grid\Column
renderHeaderCellContent() 渲染标题单元格内容. yii\grid\CheckboxColumn

属性详情

$checkboxOptions public 属性

复选框的 HTML 属性.

这可以是一个属性数组, 也可以是一个返回这样的数组的 匿名函数.

函数的签名应该是: function ($model, $key, $index, $column).

其中$model, $key$index分别指当前正在渲染的行的模型,键和索引, $column是对 yii\grid\CheckboxColumn 对象的引用.

可以使用函数根据该行中的数据将不同的属性分配给不同的行.

具体来说, 如果你想为复选框设置一个不同的值, 你可以通过以下方式使用此选项(在本例中, 使用模型的name属性):

'checkboxOptions' => function ($model, $key, $index, $column) {
    return ['value' => $model->name];
}

参见 yii\helpers\Html::renderTagAttributes() 有关如何渲染属性的详细信息.

$cssClass public 属性 (可用自版本: 2.0.9)

将用于查找复选框的 css 类.

public string $cssClass null
$multiple public 属性

是否可以选择多行. 默认为true.

public boolean $multiple true
$name public 属性

复选框输入字段的名称. 这将附加[]以确保它是一个数组.

public string $name 'selection'

方法详情

getHeaderCheckBoxName() protected 方法 (可用自版本: 2.0.8)

返回标题复选框名称.

protected string getHeaderCheckBoxName ( )
return string

标题复选框名称.

init() public 方法

初始化对象.

在使用给定的配置初始化对象之后, 在构造函数的末尾调用此方法.

public void init ( )
throws yii\base\InvalidConfigException

如果 $name 未设置.

registerClientScript() public 方法 (可用自版本: 2.0.8)

注册所需的 JavaScript.

public void registerClientScript ( )
renderDataCellContent() protected 方法

渲染数据单元格内容.

protected string renderDataCellContent ( $model, $key, $index )
$model mixed

数据模型.

$key mixed

与数据模型关联的键.

$index integer

yii\grid\GridView::$dataProvider 返回的项目数组中的数据项的从0开始的索引.

return string

渲染结果.

renderHeaderCellContent() protected 方法

渲染标题单元格内容.

默认实现只是渲染 $header.

可以重写此方法来自定义标题单元格的渲染.

protected string renderHeaderCellContent ( )
return string

渲染结果.