Yii2.0中分页的一些总结——Yii\grid\GridView

折腾了一下午,哦不,是快一天了,都六点了,先写一下总结,再去吃饭吧,不然待会回来忘光了懒的写了。

一、关于GridView的分页,搜索了yiichina和yiiframework,以及百度,都没找到自己想要的结果,可能是没找到吧,抑或真的还没遇到这个问题。

首先,我要改变底部分页组件的样式,正常是需要它的class,然后写样式,匹配一下,显示成功。可是,现实是我用了一些UI框架,设它的分页组件的class的名称为“am-pagination”,它的样式class不能说是固定的,但是该起来也麻烦,因为各种关联,而且调试CSS是一件及其麻烦的代志。所以,保留UI框架中的关于分页组件的class的命长不变,修改GridView中的分页的class名称“am-pagination”为,使其和UI的分页class名字一样。

怎么修改呢,前面说了,没找到自己想要的结果就是,没找到该怎么修改,有的也都是关于Yii1.1.x的GridView的使用方法。直接贴视图中GridView的代码,看注释:

Yii2.0中分页的一些总结——Yii\grid\GridView_第1张图片

如上图,关于分页组件的设置主要是在pager里面搞定,分页的组件主要是跟yii\widgets\LinkPager类有关,pager中的参数就是用来设置LinkPager中的属性,然后调用render显示。花了这么久搞定这个,顿时有两点感悟:

    1. 英语还是要好好学习,不想看书的话,也可以强制自己多看看英文版的参考,如yiiframework中的内容,原汁又营养啊。

    2. 一些东西还是先好好学学理论,再去实践比较好,不然没了理论的指导,实践的道路总是那么的曲折坎坷。

忘了说,以上分页还有一个地方,控制器那边的,正常只需要对pageSize设置一下就ok:

Yii2.0中分页的一些总结——Yii\grid\GridView_第2张图片

二、一些列的自定义,比如最后一列——ActionColumn列,也是源于自定义的需要吧。我要把自带的那三个view,update,delete图标改成按钮等样式。如图:

Yii2.0中分页的一些总结——Yii\grid\GridView_第3张图片

不知道这个能不能跟上述的分页一样,在视图页面通过类似于template的参数修改,我还没试过,有会的小伙伴可以回帖分享一下。我的方法是直接自定义了一个新的ActionColumn类,继承它,重写类里面的函数,部分代码如下图:

Yii2.0中分页的一些总结——Yii\grid\GridView_第4张图片

它的父类,也就是ActionColumn,关于这个函数也是这么干的,也是这么多的代码。顺便贴一下ActionColumn中这个函数的部分代码吧:

Yii2.0中分页的一些总结——Yii\grid\GridView_第5张图片

通过以上两个图的对比,应该可以很清楚的设置了Action列也就是“操作”这列的内容样式了。

解决过程中有参考了一些网站:

    http://www.yiichina.com/tutorial/92

    http://www.yiichina.com/tutorial/93

欢迎评论交流。

你可能感兴趣的:(YII2.0)