Grid y CCheckBoxColumn

Un saludo para todos, tengo la siguiente duda…

Estoy utilizando un grid para escoger diferentes servicios para realizar una cotizacion, la forma mas adecuada que pude encontrar es utilizar el CCheckBoxColumn para que el usuario escoja los servicios de una forma simple, ahi es cuando surge el problema, como no es funcional tener un grid con 60 servicios al mismo tiempo, se tiene que paginar y ademas dar la opcion de filtro para mejorar la vista, lo que causa el problema que cuando se tiquea un checkbox y se cambia de pagina al momento de volver a la pagina anterior no se mantiene tiqueado el checkbox…

Este es el codigo de mi grid por si se necesita:




<?php

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

            'id'=>'service-grid',

            'dataProvider'=>Service::model()->search(),

            'filter'=>  Service::model(),

            'columns'=>array(

                    'id_service',

                    array(

                        'name'=>'id_category',

                        //'filter'=>Category::model()->getIdNameCategory(),

                        'filter'=>CHtml::listData(Category::model()->findAll(), 'id_category', 'name'), 

                        

                        'value'=>'$data->idCategory->name',

                        'type'=>'text',

                        //'value'=>'Category::Model()->FindByPk(Service::Model()->FindByPk($data->id_category)->id_category)->name',

                    ),

                    //'id_category',

                    'name',

                    'description',

                    'cost',

                    'currency',

                    /*

                    'date_created',

                    'created_by_id',

                    'date_modified',

                    'modified_by_id',

                    */

                    array( 'class'=>'CCheckBoxColumn',

                                'value'=>'$data->id_service',

                                'selectableRows'=>10,

                                'checked'=>'$data->cost>500'

                           

                        ),

                    

            ),

        ));

            ?>



Asi y tambien tengo un problema con el filter no me funciona…




'filter'=>  Service::model(),



Estoy introduciendo el grid de servicios en otra vista es por eso que llamo de esta forma

Agradeceria mucho sus consejos y ayuda…