YiiNewer

YiiNewer

Yii框架不错

  • 财富值530
  • 威望值70
  • 总积分1690

个人信息

  • 在你自定义的地方重新写一个GridView继承yii\grid\GridView这个原类,然后重写renderSummary方法

    public function renderSummary()
    {
        $count = $this->dataProvider->getCount();
        if ($count <= 20) {
            return '';
        }
        return parent::renderSummary();
    }
    

    然后渲染grid的时候用你现在的这个GridView类就行

  • 想把当前列的排序链接功能去掉,在列的配置上加上

    'enableSorting' => false,
    
  • GridView的动作列这样配置,

    [
        'class' => ActionColumn::className(),
        'buttons' => [
            'view' => function($url, $model, $key) {
                return Html::a('查看', $url);
            },
            'update' => function($url, $model, $key) {
                return Html::a('编辑', $url);
            },
            'delete' => function($url, $model, $key) {
                $options = [
                    'data-pjax' => 0,
                    'data-confirm' => '您确定要删除此项吗?',
                    'data-method' => 'post',
                ];
                return Html::a('删除', $url, $options);
            }
        ],
    ]
    

    view代表的查看动作,update代表更新的动作,delete代表删除动作

  • 你好,根据源码来看,data-key是被源码覆盖的,这个值源码会自动赋值为每条模型的主键值,所以你可以把这个属性换成别的就可以了,详情请看类 yii\grid\GridView源码的第514行

  • 回复了 的回答

    继承vendor里面的类即可。

    你说的是配置文件里的main.php吗,在那里面也是可以使用的。

  • 数据是由dataProvider提供的,而归根到底是dataProvider的query属性作为一个查询对象查询提供的,也就是一个ActiveQuery对象,这个对象当初你select了什么,就会查出什么,没有定义查出全部,跟你使用ActiveRecord查询东西是一样的

  • 可以这样解决,自己手动获取$page

    $page = (int)Yii::$app->request->get('page') - 1;
    

    再把它放到Pagination的配置里面去

    $config = ['params' => ['w' => '关键字'], 'page' => $page]
    new Pagination($config);
    

    你记得,本身不配置params的时候,它都是从get参数里去取的,所以在你的引导超链接里岛上w关键字,在控制器里去拿到查询,这样分页会自带这个关键字的。这样的分页,什么都不用配置,感觉比较好

  • 使用自增字段,设置自增值从100000开始

  • 点击第二页也还是显示的选中第一页吗?那展示出来的数据是第一页的还是第二页的?视图的代码呢

经理 等级规则
1690/2000
资料完整度
40/100
用户活跃度
0/100

Ta的关注

5

Ta的粉丝

13

Ta的访客

33