通过使用不同的类,网格列可以自定义显示的数据类型。
- yii\grid\DataColumn: 默认的列类。
- yii\grid\SerialColumn: 显示一列行号。
- yii\grid\CheckboxColumn: 显示一列复选框。
- yii\grid\ActionColumn: 显示一列控制按钮(默认为查看、更新、删除 3 个按钮)。
每个列类是从 yii\grid\Column
扩展而来,从而在配置网格列的时候,你可以设置一些公共的选项。
echo GridView::widget([
'dataProvider' => $data,
'columns' => [
['class' => 'yii\grid\SerialColumn'], //行号
[
'class' => 'yii\grid\CheckboxColumn', //复选框
'options'=>['width'=>'50'],
'contentOptions' => ['class'=>'text-center'],
'checkboxOptions' => ['form'=>'grid-form']
],
'id',
'username',
['class' => 'yii\grid\ActionColumn'], //操作按钮
],
]);
常用属性:
yii\grid\CheckboxColumn 常用属性:
checkboxOptions array|Closure 复选框的html属性,默认为"[]"
multiple boolean 是否允许选择多行,默认为"true"
name string 复选框的name名称,默认为"'selection'"
content callable 当前列的值
header string 当前列标题单元格的内容,默认为"'#'"
footer string 当前列脚注单元格的内容
options array 当前的列html属性(col上)
headerOptions array 当前列标题单元格的html属性
contentOptions array 当前列内容单元格的html属性
footerOptions array 当前列脚注单元格的html属性
visible boolean 当前列是否可见,默认为"true"
示例:
echo GridView::widget([
'dataProvider' => $data,
'columns' => [
[
'class' => 'yii\grid\CheckboxColumn',
'contentOptions' => ['class'=>'text-content'],
],
'username',
[
'attribute'=>'email',
'format'=>['email'],
],
],
]);