Yii2框架下的Gridview通常用来展示一张DB表中的数据,十分方便。这里只说一下经常要用到的一些小技巧,其实大多数官方文档都是有的,只是有可能需要在多个文档里。

自动创建的gridview示例。

1. 不显示Gridview自带的记录序列。
删除视图文件里下面这一行代码。

['class' => 'yii\grid\SerialColumn']

2.字段名称居中对齐
视图里自定义headerOptions。

"headerOptions" => ['style' => 'text-align:center;'],

3.字段值居中对齐
视图里自定义contentOptions。

"contentOptions" => ['style' => 'text-align:center;'],

4.字段不允许点击排序
视图里自定义enableSorting。

'enableSorting' => false,

5.字段不允许搜索
Search模型里rules return值去除对应值。例如去掉分类ID以及优先级两个字段的搜索功能。

class MaterialscatSearch extends Materialscat
{
/**
* @inheritdoc
*/
public function rules()
{
return [
//[['cat_id', 'status', 's'], 'integer'],
[['status'], 'integer'],
[['cat_name'], 'safe'],
];
}

6.状态栏目显示对应值的中文含义
数据库里存放的是0和1,0代表禁用,1代表启用。
数据模型添加中文状态的静态数组和取值方法

class Materialscat extends \yii\db\ActiveRecord
{
public static $allStatus = [
'0' => '禁用',
'1' => '启用'
];
...
public function getStatusStr()
{
return Yii::t('app',self::$allStatus[$this->status]);
}

然后在视图里自定义value。

[
'attribute' =>'status',
'enableSorting' => false,
'value' => 'StatusStr', //$model->StatusStr = $model->getStatusStr();
"headerOptions" => ['style' => 'text-align:center;width:10%;'],
"contentOptions" => ['style' => 'text-align:center;'],
],

7.状态栏搜索变成下拉搜索样式,并且默认选中项提示为‘全部’
视图自定义filter以及filterInputOptions。

[
'attribute' =>'status',
'enableSorting' => false,
'value' => 'StatusStr',
'filter' => Materialscat::$allStatus,
'filterInputOptions' => ['class' => 'form-control', 'id' => null, 'prompt' => '全部'],
"headerOptions" => ['style' => 'text-align:center;width:10%;'],
"contentOptions" => ['style' => 'text-align:center;'],
],

最终界面如下:

Yii2的Gridview应用技巧补充的更多相关文章

  1. ASP.NET中Gridview一些技巧

    ASP.NET中Gridview一些技巧 一.后台覆盖掉Gridview中自动填充的值 我们可以再Gridview中的事件触发的过程中修改其中的值,而这些值将会在具体的运行过程中覆盖掉那些自动属性.这 ...

  2. 关于yii2的gridview关联搜索步骤

    在使用yii2构建搜索视图,经常都会使用到gridview这个组件,这个组件十分强大,通过一定的配置就能进行关联搜索,下面就是简单的步骤 需求场景:一个车系表,里面存放在品牌表的id,现在要用品牌名字 ...

  3. Yii2中GridView

    Yii2 GridView与dropdownList结合的用法 http://www.yiichina.com/tutorial/473 <?=$form->field($model, ' ...

  4. yii2使用小知识(连续补充)

    1,打印ar或者query的原始sql: $query = (new \yii\db\Query())->select(['a.username','b.item_name'])->fro ...

  5. Yii2.0 GridView 新增添加按钮

    <?= GridView::widget([ 'dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'col ...

  6. yii2的GridView和ActiveDataProvider具体使用

    1.控制器中(以User模块的列表为例): 第一步: use backend\models\User;use yii\data\ActiveDataProvider; 第二步: public func ...

  7. DevExpress GridView使用技巧之列标题点击事件

    在这里使用GridView的MouseDown事件.这里同样使用的是GridHitInfo来获取点击位置的信息,来判断是否在列标题上.GridHitInfo根据鼠标点击的x.y坐标获取该点的相关信息, ...

  8. yii2之GridView小部件

    GridView小部件用于展示多条数据的列表.GridView小部件的使用需要数据提供器即yii\data\ActiveDataProvider的实例作为参数,所以 第一步就是要在控制器方法中创建这个 ...

  9. Yii2框架GridView自带导出功能最佳实践

    1. 导出excel的实现方法 (1)使用phpexcel封装工具类导出excel (2)使用爬虫爬取页面再处理封装工具类导出excel (3)使用页面渲染后处理html添加头部信息生成excel文件 ...

随机推荐

  1. Parcelable encountered IOException writing serializable object

    异常: java.lang.RuntimeException: Parcelable encountered IOException writing serializable object 这是在in ...

  2. 【Spring】application.xml文件配置

    什么是Spring? Spring是分层的javaEE full-stack(一站式)轻量级开源框架. ---注解配置--针对SSM <?xml version="1.0" ...

  3. Windows server 2008R2远程桌面3389端口修改方法技巧

    windows server的服务器远程桌面默认端口号是3389,在工作中经常使用远程桌面连接服务器,但是这也是常常被黑客利用的端口号,但是如何修改掉默认端口,预防被黑客利用呢? 可以如下操作配置:很 ...

  4. Linux/Unix环境下的make命令详解

    https://blog.csdn.net/wxqian25/article/details/21226711

  5. 关于opencv模板匹配功能的项目测试记录

    模板匹配功能介绍的很好的一篇博客:https://www.cnblogs.com/XJT2018/p/9934139.html 就如上述博客所言:“若原图像中的匹配目标发生旋转或大小变化,该算法无效. ...

  6. keepalived+nginx负载均衡+ApacheWeb实现高可用

    1.Keepalived高可用软件 Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能.因此,kee ...

  7. LeetCode算法题-Sum of Square Numbers(Java实现)

    这是悦乐书的第276次更新,第292篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第144题(顺位题号是633).给定一个非负整数c,判断是否存在两个整数a和b,使得a的 ...

  8. Vector与ArrayList区别

    1)Vector的方法都是同步的(Synchronized),是线程安全的: ArrayList的方法是线程不安全的. 由于线程同步必然会影响性能,因此,ArrayList的性能比Vector好. 请 ...

  9. HBase 数据模型

    在HBase中,数据是存储在有行有列的表格中.这是与关系型数据库重复的术语,并不是有用的类比.相反,HBase可以被认为是一个多维度的映射. HBase数据模型术语 Table(表格) 一个HBase ...

  10. websocket 实现单聊群聊 以及 握手原理+加密方式

    WebSocket 开始代码 服务端 群聊 # type:WebSocket 给变量标注类型 # websocket web + socket from geventwebsocket.server ...