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. 章节九、2-使用firefoxdriver浏览器进行自动化测试

    一.演示如何使用火狐浏览器打开“百度” package basicweb; import org.openqa.selenium.WebDriver; import org.openqa.seleni ...

  2. DVWA 黑客攻防演练(三)命令行注入(Command Injection)

    文章会讨论 DVWA 中低.中.高.不可能级别的命令行注入 这里的需求是在服务器上可以 ping 一下其他的服务器 低级 Hacker 试下输入 192.168.31.130; cat /etc/ap ...

  3. SQLServer\framework启动报异常:Module的类型初始值设定项引发异常

    net framework卸载 重装 https://download.microsoft.com/download/E/4/1/E4173890-A24A-4936-9FC9-AF930FE3FA4 ...

  4. Oracle 12c用户和安全管理

    前言: Oracle 12c的多租户(multitenant)环境与SQL Server的架构非常相似,CDB$ROOT类似于master.PDB$SEED类似于model.各个pluggable d ...

  5. 系统功能调用Windows操作系统原理实验

    一.实验目的 1.熟悉操作系统的系统功能调用. 2.掌握用C语言实现系统功能调用的方法和步骤. 3.掌握利用10H号功能调用(BIOS的显示I/O功能调用)来实现对屏幕的操作与控制. 二.实验内容 1 ...

  6. 安装指定版本的docker服务

    参考博客:Docker CE 镜像源站 参考博客:docker启动异常driver not supported 1. 说明 之前部署docker服务的时候都是安装最新的docker版本,并使用dock ...

  7. SQL CREATE DATABASE 语句

    CREATE DATABASE 语句 CREATE DATABASE 用于创建数据库. SQL CREATE DATABASE 语法 CREATE DATABASE database_name SQL ...

  8. UVA - 11478 - Halum(二分+差分约束系统)

    Problem  UVA - 11478 - Halum Time Limit: 3000 mSec Problem Description You are given a directed grap ...

  9. day21-多并发编程基础(二)

    今日要整理的内容有 1. 操作系统中线程理论 2.python中的GIL锁 3.线程在python中的使用 开始今日份整理 1. 操作系统中线程理论 1.1 线程引入背景 之前我们已经了解了操作系统中 ...

  10. appium设置会话时间,可以超长时。Open Application