自定义cgridview的删除按钮功能

时间:2013-10-19 09:14:54

标签: yii cgridview

我有两张桌子:

菜单:id,name

category :id,name,menu_id

这里,类别表有menu_id外键。

菜单模型的关系

'mnuCategories' => array(self::HAS_MANY, 'MnuCategories', 'menu_id'),

自定义CGridView的删除按钮

array(
            'class'=>'CButtonColumn',
            'template'=>'{update}{delete}
            'buttons'=>array
            (
                 'delete'=> array(
                            'click'=>'js:function()',
                             )              
            ),
        ),

这里我想通过检查子记录是否存在或计算子记录来自定义删除操作。如果count大于1,则提醒用户'无法删除!儿童记录存在'。如果count为零,则允许用户删除确认消息。

2 个答案:

答案 0 :(得分:1)

在您的模型中添加beforeDelete() function

protected function beforeDelete() {

parent::beforeDelete();

/* 
* Check children
* 1. if (0 > $count > 2) return FALSE;
* 2. if ($count == 1) return TRUE;
*/

}

答案 1 :(得分:0)

或者您可以在模型中放置一个beforeDelete()函数并在那里检查逻辑,如果要防止删除,则返回FALSE。