Solucionado Como aplicar filtro yii\grid\checkboxcolumn gridview-Yii2.

Buenos dias he buscado como aplicar un filtro a una columna de tipo yii\grid\checkboxcolumn he realizado lo siguiente de forma satisfactoria:

Implementación yii\grid\checkboxcolumn:




    [

        'class'       => '\yii\grid\CheckboxColumn',

            'checkboxOptions' => [

                'class' => 'simple'

            ],

            'pageSummary' => true,

            'rowSelectedClass' => GridView::TYPE_SUCCESS,

    ],



Despues que he implementado el tipo de columna yii\grid\checkboxcolumn, creo un boton para verificar cuales son los registros seleccionados, tambien funciona correctamente:




    Html::button('<i class="glyphicon glyphicon-download-alt"></i><span>   Filter Rows Select</span>',

        ['type'=>'button', 'class'=>'btn btn-success',

            'onclick'=>'var keys = $("#kv-grid").yiiGridView("getSelectedRows").length; alert(keys > 0 ? "Ha Seleccionado: " + keys + " Registros para Filtrar." : "No hay registros Seleccionados para Filtrar.");'

    ]),



Ahora lo que necesito hacer es que una vez que seleccione los registros o filas con el yii\grid\checkboxcolumn, pueda filtrarlos es decir tener un boton al menos que diga filtrar registros o filas seleccionadas, la verdad he leido y buscado pero no he encontrado la solución,

Saludos,

Wilmer.

Hola Wilmer. ¿Te refieres a seleccionar los checboxes de algunas filas, pulsar un botón, y que en la tabla solo se muestren esas filas?

Si es correcto, gracias por tu respuesta,

Saludos,

Wilmer.

Podrías realizar una actualización de la tabla a través de ajax con la función que tiene disponible el grid:




$.fn.yiiGridView.update('kv-grid', {

        data: {selected: $("#kv-grid").yiiGridView("getSelectedRows")},

});



En el controlador tendría que leer el parámetro "selected", que vendría en la petición ajax generada, y entonces aplicar una restricción en la query para que solo se seleccionen ciertos ids de la bbdd.

Solucionado.