Búsqueda En Cgridview

Hola Comunidad

tanto tiempo

Les cuento mi idea

tengo un CGridView con un campo fecha

y en la búsqueda avanzada quiero poner una búsqueda por rango (desde -> hasta)

esto funciona bien, solo agrego 2 atributos públicos al modelo, los hago "buscables" en las reglas y los uso en la búsqueda avanzada

el problema es que quiero utilizar los 2 filtros. el del CGridView y el de búsqueda avanzada

se puede utilizar los datos de los 2 formularios? o tengo que repetir todos los campos del CGridView en la búsqueda avanzada

en las pruebas que hice solo toma uno de los formularios, ignorando el otro

saludos

Horacio

Bueno, no pude encontrar de usar los dos forms, pero encontré la forma de agregar al filtro del grid datos de la búsqueda avanzada

http://www.mrsoundless.com/php/yii/filtering-a-cgridview-with-an-ajax-button/

Lo que hice fue agregar los campos fecha_desde y fecha_hasta al grid (pero ocultos)





                        array(  'name'=>'fecha_hasta',

                                'filter'=>CHtml::activeTextField($model, 'fecha_hasta', array('id'=>false,'style'=>'display:none')),

                                'headerHtmlOptions' => array('style' => 'display:none'),

                                'htmlOptions' => array('style' => 'display:none'),

                            ),




saludos, espero les sirva

Buf, lo que cuesta hacer funcionar esto y parece sencillo.

He mirado 2 ó 3 maneras distintas de hacerlo y también creo que esta es la mejor manera de hacerlo.

en mi caso los campos de filtro no se ocultaban y añadí otra linea más "filterHtmlOptions":




array(

  'name'=>'fecha_hasta',

  'filter'=>CHtml::activeTextField($model, 'fecha_hasta', array('id'=>false,'class'=>'hide')),

  'headerHtmlOptions' => array('class' => 'hide'),

  'filterHtmlOptions' => array('class' => 'hide'),

  'htmlOptions' => array('class' => 'hide'),

),



La verdad que no queda muy elegante pero funciona.