2015-07-14 21:34:05 2144次浏览 2条回答 0 悬赏 2 金钱

各位大神,不太会描述这个问题,在显示记录时候,让有些记录有更新按钮,有些记录没有更新按钮,在哪里可以完成这个功能,谢谢

或者这样说对于显示的每条记录数据进行判断,一部分记录保留原有的{view} {update} {delete}三按钮,另一部分只有修改为

{view}按钮。即在一页上既有三中按钮的记录,也有一种按钮的记录。

万分感谢

  • 回答于 2015-07-14 22:32 举报

    应该有很多方法,我发个自己的。有优雅方式的,还请分享。

    [
        'class' => 'yii\grid\ActionColumn',
        'template' => '{create} {update} {delete}',
        'header' => yii::t('common', 'Action'),
        'buttons' => [
            'create' => function ($url, $model, $key) {
                return $model['isactive'] ? null : Html::a(Html::icon('plus', null, 'fa fa-') . yii::t('common', 'create'), 'javascript:void(0);',);
            },
            'update' => function ($url, $model, $key) {
                return !$model['isactive'] ? null : Html::a(Html::icon('pencil', null, 'fa fa-') . yii::t('common', 'Edit'), 'javascript:void(0);',);
            },
            'delete' => function ($url, $model) {
                return !$model['isactive'] ? null : Html::a(Html::icon('trash', null, 'fa fa-') . yii::t('yii', 'Delete'), 'javascript:void(0);',);
            }
        ],
    ],
    

    关键就是那个匿名函数的返回。你看看源码。估计template 也支持匿名函数的。那就更简单了。

    , , 觉得很赞
  • 回答于 2015-07-14 22:57 举报

    大不了 不用那些widget就是
    用 widget 的好处就是 当你不需要怎么定制的时候 可以少写很多的代码
    但 如果你需要很强的 定制性,与其绞尽脑汁的思考如何定制,不如干脆 不用他

    当然,楼上的答案 是个不错的办法

您需要登录后才可以回答。登录 | 立即注册
markel
试用期

markel

注册时间:2015-05-21
最后登录:2015-09-20
在线时长:2小时19分
  • 粉丝1
  • 金钱15
  • 威望0
  • 积分35

热门问题