如何在Yii中使用CGridView的ajaxUrl参数?

时间:2012-09-27 17:08:27

标签: ajax yii

我正在尝试使用CGridView的ajaxUrl参数,但它没有效果。

$this->widget('zii.widgets.grid.CGridView', array(
   'id'=>'ge-cg-'.$myLib['id'],
   'filter'=>$geCGModel,
   'dataProvider'=>$dataProvider, 
   'columns'=>$columns,
   'ajaxUrl'=>Yii::app()->createUrl( 'Something/search' ),
));

这似乎没有覆盖CGridView小部件的ajax url。网格的ajax请求仍然会转到呈现它的控制器(这与网格自己的控制器不同)。

谢谢!

1 个答案:

答案 0 :(得分:11)

ajaxUrl属性仅适用于“每列过滤器”和“高级搜索”的搜索。排序链接和分页链接是从您指定的$dataProvider生成的。您可以检查CGridView和CDataColumn的来源,分别查看从dataProvider中提取paginationsorting的方式。

因此,如果您希望这些链接也使用您要指定的相同ajaxUrl,则必须为CPagination对象和{{的CSort对象设置route属性。 1}},有点像这样:

$dataProvider

这与您当前的CGridView设置相结合应该可以正常工作。