【问题标题】:CGridView add another delete button with ajax post requestCGridView 使用 ajax 发布请求添加另一个删除按钮
【发布时间】:2012-03-26 09:16:02
【问题描述】:

您好,是否可以向 Yii CGridView 添加另一个删除按钮? 我希望它向我的一位控制器发出 ajax 发布请求。

一个用例是:

假设我有一个关于 cmets 的博客条目。在管理中,我希望有一个网格视图,我可以在其中删除此博客条目(这已经是可能的)。我还想在原来的删除按钮旁边有另一个删除按钮,它只会删除博客的 cmets(我不知道如何添加)。

我查看了 Yii 框架生成的 HTML 以了解原始删除按钮是如何工作的。一种可能的解决方案是复制/粘贴删除和刷新 java 脚本代码并对其进行一些修改。但我不喜欢这个。我有些担心,如果我这样做了,当我升级 Yii 框架时,不能保证我的解决方案仍然有效。

【问题讨论】:

    标签: ajax post gridview yii cbuttoncolumn


    【解决方案1】:

    使用上面的教程并将 class="delete" 添加到新按钮

    'options'=>array('class'=>'delete')
    

    Yii 框架将 ajax 调用分配给这个类。

    array('class'=>'CButtonColumn','template'=>'{remove}{view}{update}{delete}',
              'htmlOptions'=>array('style'=>'width:65px'),
              'buttons'=>array(
                'remove'=>array('url'=>'Yii::app()->createUrl("resolution/removeApp", array("id_application"=>$data->id_application,"id_resolution"=>'.$model->id_resolution.'))','label'=>'Remove application from resolution.','imageUrl'=>Yii::app()->request->baseUrl.'/images/remove.png','options'=>array('class'=>'delete')),
                ))
    

    【讨论】:

      【解决方案2】:

      您可以按照Using CButtonColumn to customize buttons in CGridView 添加一个新按钮,该按钮将调用控制器中的操作以删除 cmets。干杯。

      【讨论】:

      • 我已经尝试过将自定义按钮添加到 CButtonColumn 的按钮属性。问题是按钮数组中的 click 元素没有得到 php 评估(作为 url),所以我无法将行的 id 传递给我的 ajax 发布请求。
      • 那么对不起,我想我不明白你的问题。
      猜你喜欢
      • 1970-01-01
      • 2021-03-27
      • 2012-03-14
      • 1970-01-01
      • 2012-05-19
      • 1970-01-01
      • 1970-01-01
      • 2015-09-04
      • 2017-08-23
      相关资源
      最近更新 更多