我正在尝试使用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请求仍然会转到呈现它的控制器(这与网格自己的控制器不同)。
谢谢!
答案 0 :(得分:11)
ajaxUrl
属性仅适用于“每列过滤器”和“高级搜索”的搜索。排序链接和分页链接是从您指定的$dataProvider
生成的。您可以检查CGridView和CDataColumn的来源,分别查看从dataProvider中提取pagination和sorting的方式。
因此,如果您希望这些链接也使用您要指定的相同ajaxUrl
,则必须为CPagination对象和{{的CSort对象设置route
属性。 1}},有点像这样:
$dataProvider
这与您当前的CGridView设置相结合应该可以正常工作。