zoukankan      html  css  js  c++  java
  • Yii2的Gridview应用技巧补充

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

    自动创建的gridview示例。

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

    ['class' => 'yiigridSerialColumn']
    

    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 yiidbActiveRecord
    {
    	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;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;10%;'],
    	"contentOptions" => ['style' => 'text-align:center;'],
    ],
    

    最终界面如下:

  • 相关阅读:
    C++类型前置声明
    Qt 引用头文件 QT_BEGIN_NAMESPACE QT_END_NAMESPACE
    Qt emit的使用
    特定于类的内存管理---《C++必知必会》 条款36
    C++深入理解虚函数
    使用网页预加载顶部进度条
    简单读取 properties文件
    win2012r2 关闭中英文悬浮小方框显示
    bootstrap的Alerts中 可以放置p标签 设置 align="center" 用来设置文本居中
    char和String 在jsp java代码中与jstl代码中的区别
  • 原文地址:https://www.cnblogs.com/niuben/p/10749114.html
Copyright © 2011-2022 走看看