CGridView如何自定义一个ajax button

我定义好了一个’移至回收站’的button,应该如何才能让它以ajax的方式运行呢?下面的代码是从网上移植过来的,但是ajax无效,具体我应该怎样配置呢?


$this->widget('zii.widgets.grid.CGridView', array(

	'id'=>'user-grid',

	'dataProvider'=>$model->search(),

	'filter'=>$model,

	'ajaxUpdate'=>true,

	'columns'=>array(

             …………

             array(

		'class'=>'CButtonColumn',

		'header'=>'操作',

                'template'=>'{view}{update}{delete} {recycle}',

                'buttons'=>array(

                'recycle'=>array(

                    'label'=>'移至回收站',

                    'imageUrl'=>$this->module->assetsUrl.'/images/recycle.png',

                     'url'=>'Yii::app()->controller->createUrl("user/recycle",array("id"=>$data->primaryKey))',

                    'click'=>'function(){return confirm("确定移至回收站吗?");}',   

			'ajax'=>'array(

				"type"=>"POST",

			           	 "url"=>"Yii::app()->controller->createUrl(\"user/recycle\",array(\"id\"=>$data->primaryKey))",

			           	"update"=>".summary",

			)',

                ),

            ),

		),

建议用FireBug看看,是前端的问题还是返回数据的问题~~

具体没写过,刚才看了下CButtonColumn。。。继续围观




		$this->buttons['delete']['click']=<<<EOD

function() {

	$confirmation

	var th=this;

	var afterDelete=$this->afterDelete;

	$.fn.yiiGridView.update('{$this->grid->id}', {

		type:'POST',

		url:$(this).attr('href'),$csrf

		success:function(data) {

			$.fn.yiiGridView.update('{$this->grid->id}');

			afterDelete(th,true,data);

		},

		error:function() {

			afterDelete(th,false);

		}

	});

	return false;

}

EOD;

	}


	protected function registerClientScript()

	{

		$js=array();

		foreach($this->buttons as $id=>$button)

		{

			if(isset($button['click']))

			{

				$function=CJavaScript::encode($button['click']);

				$class=preg_replace('/\s+/','.',$button['options']['class']);

				$js[]="jQuery('#{$this->grid->id} a.{$class}').live('click',$function);";

			}

		}


		if($js!==array())

			Yii::app()->getClientScript()->registerScript(__CLASS__.'#'.$this->id, implode("\n",$js));

	}