Buenos días.
Si te he entendido quieres guardar en una base de datos el criterio de búsqueda seleccionado en el selectbox y todos los datos que se muestran en el CGridView?
Podrías enseñarnos tu escenario(tablas, relaciones,…)
!!!
Creo, y sólo CREO, q un CGridView no se puede enviar mediante POST (por ejemplo).
Entonces yo lo que haría sería lo siguiente:
1- En el actionAdmin de tu controlador, crearía un estado para los datos completos(o vacío, o con filtros, es tu elección) que quieres mostrar en el CGridView y devolvería un dataProvider con los datos completos(o vacío, o con filtros, es tu elección) para rellenar el CGridView.
2- En tu vista crearía un formulario para hacer el envío de datos mediante POST, ya q necesitas enviar el dato del selectbox.
3- Cuando pulses el botón buscar, cambias tanto el estado como el dataProvider rellenándolos con los nuevos datos.
3- En tu controlador, en el actionAdmin guardas los datos que existan en el estado y en la variable POST que se refiera a tu selectbox. No vas a querer guardar siempre, sino sólo cuando hagas click en el botón de enviar formulario, con lo que tendrás q darle un id al botón y en actionAdmin comprobar si se ha enviado este dato. Si se envía, guardas los datos, y sino, muestras sólo los datos sin guardar nada.
Y listo.
Revisa esto para los estados (variables de sesión):
Crear Estado
Recoger Estado
Comprobar si existe Estado
Un saludo.