2012-03-26 8 views
2

こんにちはYii CGridViewに別の削除ボタンを追加できますか? 私はAJAXの投稿リクエストを私のコントローラの1つにしたいと思います。CGridView ajaxポストリクエストで別の削除ボタンを追加

ユースケースは、次のようになります。

は、私がコメントでブログのエントリを持っているとしましょう。管理では、私はこのブログのエントリを削除することができます(これはすでに可能です)グリッドビューを持っていたいと思います。また、元の削除ボタンの隣に別の削除ボタンを設けて、ブログのコメントを削除するだけです(追加方法はわかりません)。

私はYiiフレームワークによって生成されたHTMLを見て、元の削除ボタンの仕組みを見ています。 1つの可能な解決策は、コピー/貼り付け、削除、Javaスクリプトコードをリフレッシュして少し修正することです。しかし、私はこれが好きではありません。私はこれを行うとYiiフレームワークをアップグレードすると、私のソリューションがまだ動作するという保証はないという心配があります。

答えて

0

これに続いてUsing CButtonColumn to customize buttons in CGridViewにコントローラのアクションを呼び出してコメントを削除する新しいボタンを追加することができます。乾杯。チュートリアル上記

+0

私はCButtonColumnのbuttonsプロパティにカスタムボタンを追加してこれを試しました。問題はボタン配列のclick要素がphpを(URLとして)評価されないため、私の行のidを私のajax投稿要求に渡すことができないということでした。 – netuser24

+0

あなたの質問を理解できないと思うので、残念です。 – Puigcerber

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素晴らしいソリューション! –

関連する問題