2012-03-26 51 views
2

你好是可以添加另一個刪除按鈕Yii CGridView? 我希望它對我的一個控制器發出ajax post請求。CGridView添加另一個刪除按鈕與AJAX張貼請求

的使用情況是:

可以說我有意見博客條目。在管理方面,我希望有一個gridview,我可以刪除這個博客條目(這已經是可能的)。我還想在原始刪除按鈕旁邊有另一個刪除按鈕,它只會刪除博客的評論(我不知道如何添加)。

我查看了Yii框架生成的HTML,看看原始刪除按鈕是如何工作的。一種可能的解決方案是複製/粘貼刪除和刷新java腳本代碼並稍微修改它。但我不喜歡這個。我有一些擔心,如果我這樣做,當我升級Yii框架時,不能保證我的解決方案仍然可以工作。

回答

0

你可以按照這個Using CButtonColumn to customize buttons in CGridView添加一個新的按鈕,這將調用控制器中的動作來刪除註釋。乾杯。

+0

我已經嘗試了通過向CButtonColumn的按鈕屬性添加自定義按鈕。問題是按鈕數組中的click元素沒有得到php評估(作爲url),所以我不能將行的ID傳遞給我的ajax post請求。 – netuser24 2012-03-26 13:54:48

+0

我很抱歉,因爲我想我不明白你的問題。 – Puigcerber 2012-03-28 07:43:55

4

使用上面的教程,並添加類=「刪除」爲新的按鈕

'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')), 
      )) 
+0

+1真棒解決方案! – 2013-08-20 10:36:09