【问题标题】:Can't add a CButtonColumn to CGridView无法将 CButtonColumn 添加到 CGridView
【发布时间】:2014-10-28 13:23:50
【问题描述】:

我正在尝试创建一个自定义的CGridView 列,其中包含删除按钮。我使用CArrayDataProvider 作为数据容器。但是当我运行下面的代码时,屏幕上什么都没有..

$this->widget('zii.widgets.grid.CGridView', array(
    'id' => 'my-model-grid',
    'dataProvider' => $arrayDataProvider,
    'columns' => array(
        'name',
        'email',
        array(
           'class'=>'zii.widgets.grid.CButtonColumn', 
        )
    )
));

如果我删除这部分:

array(
    'class'=>'zii.widgets.grid.CButtonColumn', 
)

它会起作用的。

我使用 AJAX 将 CGridView 渲染为 CJuiTab

【问题讨论】:

  • 您的错误报告是否已开启?
  • 是的,它是.. 如果我更改 CJuiTab 中的选项卡,服务器会返回代码 500
  • 来自 chrome 控制台:GET widgen/project/requests/1 500(内部服务器错误)

标签: php yii cgridview


【解决方案1】:

您可以通过 2 种方式自定义按钮。 删除您要删除的任何按钮。

第一

array
(
    'class'=>'CButtonColumn',
    'template'=>'{delete}',
)

第二(更多自定义链接)

  array(
        'class'             => 'CButtonColumn',
        'buttons'           => array(

            // Update
            'update'    => array('url' => '$this->grid->controller->createUrl("/agreement/update", array("id"=>$data->primaryKey))'),

            // View
            'view' => array('url' => '$this->grid->controller->createUrl("/agreement/".$data->primaryKey)'),

            // Delete
            'delete' =>
                array('url' => '$this->grid->controller->createUrl("/agreement/delete/".$data->primaryKey)'),

        ),
    ),

【讨论】:

  • @SergeySikachev 你试过只使用 array('class'=>'CButtonColumn')
  • 我已经尝试并接受了相同的结果,所以据我了解,问题出在 CButtonColumn 中
  • @SergeySikachev 你得到了什么结果?
  • @SergeySikachev 我找不到问题所在。如果发现其他错误,请分享。
  • @SergeySikachev 你找到解决方案了吗?
猜你喜欢
  • 1970-01-01
  • 2012-06-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多