• yii2 GridView 简要解析


        [
                'header' => '操作',
                'class' => 'yiigridActionColumn',
                'template' => '{view} {update} {delete} {abc}', //{view} {update} {delete}系统定义的,{abc}自定义的
                'buttons' => [
                    'view' => function ($url, $model, $key) {  //$url是系统定义的三个操作的url,$model为数据对象,$key为循环的键值(用处不大)
                        return $key == 1 ? null : commoncomponentsMyHelper::mybutton('/xx/xx?id=' . $key, 'view', ['title' => '标签的title属性']);
                    },
                    'delete' => function ($url, $model, $key) {
                        return $key == 1 ? null : commoncomponentsMyHelper::mybutton($url, 'delete');
                    },
                    'abc'=>function(){return '<a>abc</a>';}
                ]
            ],

    MyHellper代码如下:

      /**
         * 生成操作按钮
         * @param $url
         * @param string $type
         * @param array $options
         * @return string
         */
        public static function mybutton($url, $type = 'update', $options = [])
        {
            if ($type == 'view') {
                return Html::a('<span class="glyphicon glyphicon-eye-open"></span>', $url, ArrayHelper::merge([
                    'title'     => Yii::t('yii', 'View'),
                    'data-pjax' => '0',
                ], $options));
            }
            if ($type == 'update') {
                return Html::a('<span class="glyphicon glyphicon-pencil"></span>', $url, ArrayHelper::merge([
                    'title'     => Yii::t('yii', 'Update'),
                    'data-pjax' => '0',
                ], $options));
            }
            if ($type == 'delete') {
                return Html::a('<span class="glyphicon glyphicon-trash"></span>', $url, ArrayHelper::merge([
                    'title'        => Yii::t('yii', 'Delete'),
                    'data-confirm' => Yii::t('yii', 'Are you sure you want to delete this item?'),
                    'data-method'  => 'post',
                    'data-pjax'    => '0',
                ], $options));
            }
        }

     完整的GridView写法

    <?= yiigridGridView::widget([
        'dataProvider' => $dataprovider,
        'filterModel' => $searchmodel,
        'columns' => [
            ['class' => 'yiigridSerialColumn'],//生成序列号
            'id', // 直接显示字段
    'name:text:名称', //name字段的内容格式化为定义的text类型,表头内容设置为“名称” [ 'attribute'=>'field', // 关联的字段名 'filter'=>['1'=>'x','2'=>'y','3'=>'z'], // 这会生成一个select下拉框(<option value="1">x</option>)的查询字段 ], [ 'header' => '表头th中显示的内容', 'content' => function ($data) { // $data为循环变量 //...一些处理代码 return $content; // 返回要显示的内容,无查询框 } ], [ 'label'=>'链接', // 表头th中内容,有header时,优先显示header的内容 'value'=>function($data){return Url::to('controller/action');}, // 要显示的列表项内容,优先显示content内容 'filter'=>'', // 为空表示不显示查询框 'headerOptions' => ['width' => '250'], // 可以添加标签属性 ], 'time:datetime', // format属性简写方式如:['format'=>'text'] ],

        //'layout' => "{items} {summary} <div style="text-align:center;">{pager}</div>",
        //'summary' => false

    ]) ?>

    详细的gridview用法可以参考:http://www.yiichina.com/doc/api/2.0/yii-grid-gridview

  • 相关阅读:
    一年来把自己从学.Net到用.Net,收集的资料共享出来B/s中的存储过程(二)
    收集的.Net文章(十五)ASP.NET 2.0 Caching For performance
    收集的.Net文章(十六)SQL Server日期计算
    P.V操作原语和信号量
    2004年2008年系分论文题目整理,考SA的可以看一下
    2010年个人总结
    MASM,NASM和AT&T汇编格式备注
    Unity Application Block 学习笔记之一使用配置文件
    Javascript 学习笔记之String类测试
    javascript学习笔记之Object类型测试
  • 原文地址:https://www.cnblogs.com/benlightning/p/4466063.html
Copyright © 2020-2023  润新知