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

Rodrigo Paszniuk
Rodrigo Paszniuk

Ingeniero Informático y Especialista en Docencia Universitaria con 15 años de trayectoria en la industria de software. Mi enfoque está en la arquitectura de sistemas y la formación de talento técnico en Paraguay. A través de Programacion.py, busco compartir conocimiento práctico y elevar el estándar del código en nuestra región.

Artículos: 322

Deja un comentario