Сортировка Данных По Разному

всем привет

не пойму с какого края зайти вот к какой проблеме: мне нужно каким-то образом манипулировать сортировкой данных в гриде

делать это надо в двух случаях

  1. когда я нахожусь на странице отличной от 1-й и кликаю по аяксовой-кнопке = меня перекидывает на первую страницу = то есть не видно результата отработки аякса = то есть надо остаться на текущей странице

  2. когда я создаю запись в БД то после создания нужно так отредиректится на страницу admin, чтобы вновь созданная запись была вверху = то есть нужна сортировка по убыванию

вот это что-то не помогло =


$this->redirect(array('admin','Documents_sort'=>'id_doc','ajax'=>'documents-grid'))

первый случай порешал так: в нужном экшене сделал редирект на предыдущий УРЛ =


if(!isset($_GET['ajax']))

{

   $this->redirect(isset($_POST['returnUrl']) 

      ? $_POST['returnUrl'] 

      : Yii::app()->request->urlReferrer);

}

правда это работает только при ‘ajaxUpdate’=>false :unsure:

для первого случая еще попробовал сделать так:

добавил номер страницы в CGridView =


'url'=>'Yii::app()->createUrl("documents/showhide", array("id"=>$data->id_doc,"page"=>@$_GET["Documents_page"]))',

и аргумент page в экшене =


public function actionShowHide($id,$page)

редирект сделал так =


if(!isset($_GET['ajax']))

{

   $this->redirect(isset($_POST['returnUrl']) 

      ? $_POST['returnUrl'] 

      : array('admin','Documents_page'=>$page));

}

но теперь, зараза, ГЕТ-параметр есть в УРЛ после редиректа >:(

а для второго случая сделал редирект на Documents_sort вот так =


if($model->save())

   $this->redirect(array(

        'admin',

        'Documents_sort'=>'id_doc.desc')

   );

вроде бы достиг чего хотел, но все-таки хотелось бы не видеть ГЕТ-параметры в УРЛ

все оказалось куда проще =

$model=new Sale(‘search’);

$model->dbCriteria->order=‘id_sale DESC’;

делаем это прямо в нужном экшене контроллера