Cgridview - Llenar Con Datos Determinados Por Una Consulta

Muy Buenas Amigos, les comento mi duda ya que soy nuevo en Yii.

Necesito Llenar un cgridview con datos determinados y no con TODOS los datos de la Tabla.

O sea, estoy en una vista viendo un distrito (por ejemplo el distrito "SAN ANTONIO") y abajo hay un link que cuando hagan click me abra un Grid con todos los datos de "SAN ANTONIO" SOLAMENTE. Y no todos como lo hace la vista Admin cuando genere el CRUD.

Espero haber sido lo mas claro posible. Desde ya muchas Gracias de antemano y espero me puedan dar una mano con esto…

PD: El grid debería tener los campos para buscar pero siempre dentro de SAN ANTONIO.

Abrazos y bendiciones.

¿Quieres que ese grid venga por defecto filtrado por el distrito SAN ANTONIO?

Si es así, en en la función search() del modelo puedes añadir:




$criteria->condition = 'distrito = :distrito';

$criteria->params = array(':distrito' => 'SAN ANTONIO');



Ante todo gracias Alex por responder. El tema esta que como SAN ANTONIO puede ser otro distrito. Creo suponer que

va una variable que me pasa la vista para saber que buscar. Te copio parte del codigo para que se entienda mejor.




<?php 

	$this->widget('zii.widgets.CDetailView', array(

		'data'=>$data,

		'attributes'=>array(

							...

							'distrito', //PUEDE SER SAN ANTONIO U OTRO

							'porcentaje_s_total',

							),

				));


echo '<br>';

echo CHtml::link('Leer Mas...', $this->createAbsoluteUrl('datos/admin'), array('target'=>'_blank'));

?>



En el link es donde me tiene que dirigir al grid solo con los datos del distrito que estoy viendo. En este momento me carga el Grid con toda la tabla completa.

Muchas Gracias y espero haber sido claro.

Pues entonces pásale un parámetro a la acción. Por ejemplo, si es


 actionAdmin()

cámbiala a




actionAdmin($distrito) {


$model = new TuModelo('search');

$model->unsetAttributes();

//y añades esta línea

$model->distrito = $distrito;

if (isset($_GET['Products']))

    $model->attributes = $_GET['Products'];


$this->render('admin', array(

    'model' => $model,

));


}



Y a la hora de acceder a la acción, ya no lo haces de la forma habitual ".../controllerID/admin", sino que le tienes que pasar el parámetro así ".../controllerID/admin/distrito/SAN%20ANTONIO".

Muchas Gracias ALEX!!! me sirvío mucho!!! abrazos. :) :) :)