Programación

Orden por defecto y condición extra para el GridView en Yii

Para poder ordenar nuestro GridView bajo el criterio que queramos, eso lo hacemos modificando el parámetro sort del CActiveDataProvider que se encuentra en la función search del modelo, de igual modo vamos a agregar un condición extra en la búsqueda, en nuestro caso filtramos una determinada categoria y ordenaremos la tabla en forma descendente mediante el campo desc_producto:


$criteria->condition = "id_categoria=1"; //Va a mostrar en la tabla solamente todos los productos con el id_categoria=1</code>
$sort=new CSort();
$sort->defaultOrder='desc_producto DESC'
//Va a ordenar la tabla utilizando el campo desc_producto en forma descendente "DESC", si no podemos nada ordena en forma ascendente "ASC"</code></div>

//El CActivedataProvider quedaría así:
return new ActiveDataProvider($this, array(
'criteria'=>$criteria,
'sort'=>$sort
));

Si por ejemplo queremos mostrar el GridView de a 5 registros, usar lo siguiente:


return new CActiveDataProvider($this, array(
 'pagination'=>array(
 'pageSize'=>5
 ),
 'criteria'=>$criteria,
 ));

//Siempre dentro de la función search() del modelo

Salir de la versión móvil