列相关
先看一个gii生成的正常状态下的Gridview
格式化列的值
一般修改一个列的值的使用格式如下,将数值对应成文字
当然为了方便,yii也提供了一些特有的格式化
格式化时间戳
下面罗列一下额外的参数配置
单元格显示html
默认是过滤html的
自定义按钮
|
|
搜索改为下拉框
|
|
列title不使用排序功能
|
|
这个可以在gii生成的对应的 search
模型中进行更改,相对比较麻烦
headerOptions 控制列属性 样式
针对于列样式,GridView提供了3个属性,分别为 headerOptions
、 contentOptions
和 footerOptions
(还没发现footer有实际用途)headerOptions
控制的是 th
的样式 也就是我们看到的titlecontentOptions
控制的是 td
的样式 也就是我们看到的显示的列内容
隐藏列
GridView列的visible属性,此属性默认为true代表此列显示,通过设置visible属性可以隐藏一列,这种隐藏非css的display:none,而是在渲染表格的时候就去掉了此列。visible是可以传递一个表达式,实现逻辑判断,比如下面的需求当1号管理员登录的时候可以看到省市一列。
增加列表勾选框列
在cloumns中加入以下代码 虽然不知道有什么用处
行相关
rowOptions 管理tbody下tr的属性
|
|
beforeRow和afterRow 行前行后增加要显示的数据
这是一对非常灵活的属性,它们接收一个匿名函数。分别表示在渲染了一行之前和之后发生点什么
要记住的是,匿名函数返回的结果也会作为一行纳入到渲染过程,比如当我们遇到奇数的时候就在此行下面添加一行,可以如下代码
整体显示相关
更改layout
layout表示列表显示的样式,一个列表有三个部分组成 items
列表部分、summary
显示第几页共几页的部分、 pages
分页部分
更改显示顺序,把显示第几页共几页部分放到列表下面
修改分页显示
显示在右侧,并替换分页的显示的内容
不显示title和搜索框
|
|
增加表的标题
也就是增加table的caption,在table的上边显示标题
tableOptions和options属性 管理table属性
这两个属性有的开发者可能会混淆,接下来我用一张图让你瞬间明白。
就是说GridView渲染的时候首先弄出来一个div容器,这是这个GridView的代表,接下来在此容器内放各种元素,比如 {summary}、{items}
等等。options
控制着 div容器
的属性,默认添加一个 class="grid-view"
tableOptions
控制着 {items}
表格table的属性,默认为其添加一个 class="table table-striped table-bordered"
headerRowOptions 管理thead下的tr属性
headerRowOptions
它管理的是thead下tr的属性。
emptyCell 管理空单元格的显示
emptyCell 又是一个小细节,如果一个单元格为空,用什么字符填充那?默认是  ,你可以重新指定。
控制分页显示数量
这个可以在gii生成的对应的 search
模型中进行更改,相对比较麻烦
让关联字段带搜索和排序功能
假设现在有一张团购表 groupon
通过Gridview进行展示,表中存有 goods_id
关联的是 goods
表的 id
, user_id
关联的是 user
表的 id
现在要在展示的时候把对应的id转换成名称,这就需要进行表的关联
1. model中定义关联表
AR模型类
2. search 模型的修改
gii根据AR模型类生成的search模型
3. 视图修改
|
|
参考
Yii2的GridView使用大全
yii2数据列表插件-gridview
yii2-GridView在开发中常用的功能及技巧
Yii2-GridView 中让关联字段带搜索和排序功能