Yii Framework-使用CCheckBoxColumn删除多个

亚历克·格兰博(Alec Gamble)

目前,我只是想把自己的头围在yii框架周围,我创建了一个函数一次删除多个数据库记录。在视图中,我有一个网格,其中包含对每个项目的引用以及其旁边的复选框

<?php $this->widget('zii.widgets.grid.CGridView', array(
    'dataProvider'=>$dataProvider,
    'htmlOptions'=>array(
        'class'=>''
    ),
    'columns'=>array(
...
array(
    'class'=>'CLinkColumn',
    'header'=>'Handle',
    'labelExpression'=>'$data->handle',
    'urlExpression'=>'Yii::app()->createUrl(".../item/view", array("id"=>$data->id))',
        ),
array(
    'class'=>'CCheckBoxColumn',
    'header'=>'Select',
    'selectableRows'=>'2',
        ),
    ),

然后,在页面的下方,我需要一个按钮(选择删除),该按钮会将所有项目的数组发送到删除功能。我的想法是类似于以下内容:

<a href="
<?php echo Yii::app()->createUrl('.../item/bulkDelete','array("id" => $data->id)')?>" 
class="btn">Delete Selected</a>

但是我不知道如何获取每个已检查项目的参考,而不是:

"id" => $data->id

正如我以前用来将项目传递给视图函数一样。如果有人可以帮助,将不胜感激。

编辑:

看法:

$form = $this->beginWidget('CActiveForm', array(
        'id' => 'itemForm',
        'action' => array('.../item/bulkDelete'),
        ));

$this->widget('zii.widgets.grid.CGridView', array(
    'dataProvider'=>$dataProvider,
    'htmlOptions'=>array(
        'class'=>''
    ),
array(
    'class'=>'CLinkColumn',
    'header'=>'Handle',
    'labelExpression'=>'$data->handle',
    'urlExpression'=>'Yii::app()->createUrl(".../item/view", array("id"=>$data->id))',
),
array(
    'class'=>'CCheckBoxColumn',
    'header'=>'Select',
    'selectableRows'=>'2',
),
... //More Columns
), //End of Grid
...
echo CHtml::SubmitButton('Delete Multiple');
$this->endWidget();

控制器:

public function actionBulkDelete()
{

    if(isset($_POST['id'])&& !empty($_POST['id'])) 
    { 
        Yii::app()->user->setFlash('success', 'Delete Items');
            $this->redirect(array('.../item/index'));
    } 
    else
    {
        Yii::app()->user->setFlash('success', 'No Items Selected');
            $this->redirect(array('.../item/index'));
    }


}
克里斯托

将网格视图包装在窗体内,并在columns数组中进行以下更改

$form = $this->beginWidget('CActiveForm', array(
        'id' => 'some-grid-form',
        'action' => array('myController/myAction'),
));

 $this->widget('zii.widgets.grid.CGridView', array(
    'dataProvider'=>$dataProvider,
    'selectableRows' => 2,
    'columns'=>array(
     array(
            'id' => 'id',
            'class' => 'CCheckBoxColumn',
        ),
    //... rest of your columns
    ),
    array(
        'class'=>'CButtonColumn',
    ),
  ),
));

echo CHtml::SubmitButton('Multiple Delete');
$this->endWidget(); // end form

并且在您的控制器中myAction

public function actionmyAction()
    {
        if(isset($_POST['id']) && !empty($_POST['id'])) { //you'll get all the ids in an array
            //print_r($_POST['id']); 
            //your delete function here, also add a few validation here to authenticate deletion
            $ids = $_POST['id'];
            $criteria = new CDbCriteria;
            $criteria->addInCondition('id',$ids);
            MyModel::model()->deleteAll($criteria);
            //.... render with success flash message etc.
        }
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Yii Framework:从CAction类调用Controller的函数

来自分类Dev

使用Yii Framework将数据从csv导入到Mysql

来自分类Dev

Yii Framework-URL映射到操作

来自分类Dev

在Yii Framework中读取CSV

来自分类Dev

在yii Framework中上传文件时出错

来自分类Dev

使用Entity Framework 4.0时需要删除多个实体对象

来自分类Dev

Yii Framework 2.0版本与1.1.14

来自分类Dev

Yii Framework 2.0使用用户数据库登录

来自分类Dev

Yii Framework 1.1 .. CGridview过滤器无法与我自己的模型搜索功能一起使用

来自分类Dev

Yii Framework 2.0在一页上有多个分页

来自分类Dev

Yii Framework未知属性异常

来自分类Dev

Yii Framework未定义变量模型

来自分类Dev

使用Yii Framework完成注册表格

来自分类Dev

使用YII Framework的Select2 Ajax选项

来自分类Dev

如何在Yii Framework中使用带有控制器名称的当前模型名称

来自分类Dev

Yii Framework CDBCommand失败

来自分类Dev

Yii Framework Rights访问菜单

来自分类Dev

Yii Framework:从CAction类调用Controller的函数

来自分类Dev

在Yii Framework中验证列空值

来自分类Dev

在Yii Framework中读取CSV

来自分类Dev

在yii Framework中上传文件时出错

来自分类Dev

使用Entity Framework 4.0时需要删除多个实体对象

来自分类Dev

Yii Framework 1.1 .. CGridview过滤器无法与我自己的搜索功能一起使用到模型中

来自分类Dev

使用Yii 2.0 Framework将数据从xls,csv导入Mysql

来自分类Dev

使用Yii Framework的htaccess进行密码保护

来自分类Dev

如何在表AuthAssignment Yii Framework中使用用户ID更新itemname列

来自分类Dev

php yii framework ::找不到$ content

来自分类Dev

在Yii Framework中设置环境

来自分类Dev

Yii Framework 2.0 主键的重复键值

Related 相关文章

热门标签

归档