EXTJS: ¿Cómo evitar que CheckBoxModel se deselecciona las filas en el cambio de página de PagingToolbar?

StackOverflow https://stackoverflow.com//questions/12700101

  •  12-12-2019
  •  | 
  •  

Pregunta

¿Por qué checkboxmodel Deseleccione todas las filas seleccionadas en el cambio de página cuando se usa paginación Barra de herramientas ? ¿Cómo detengo la deselección de filas en el cambio de página?

Veo que hay un PRUERREMEDOVIDO que se puede usar para prevenir la poda de los nodos, lo puse en falso, pero el deselecto todavía está despedido. No estoy seguro de qué más probar.

Estoy asumiendo que los registros de código de checkbodel con la tienda o tal vez se notifique a PagingToolbar cuando la tienda cambia ... ¡entonces deselecciona todo? ¿Por qué? Necesito prevenir eso.

Editar: La razón por la que no quiero que el DeselectTall sea despedido es; Adjunto un controlador en Seleccionar y deseleccionar. Seleccione Agrega filas a otra cuadrícula, deselecciona los elimina. Entonces, cuando el usuario revisa una casilla de verificación que se agrega la fila a otra cuadrícula, cuando lo desmarque, se elimina de esa cuadrícula. Por la red, disparando un DeselectTall, cuando la tienda cambia, pierdo todas mis filas guardadas en la otra cuadrícula.

¿Fue útil?

Solución

No estoy seguro de si esta es la forma correcta de hacer esto, pero está funcionando para mí.

Lo que hice fue crear mi propio ext.grid.view.Extendé ext.view.table y sobre carretera el método OnMaskbeForeshow.Este es el método que llamó a Deseleccionar todo en el modelo de selección de cuadrículas.Como puedes ver, lo comenté aquí

Ext.define('Ext.grid.SteveView', {
    extend: 'Ext.view.Table',
    alias: 'widget.stevegridview',

    onMaskBeforeShow: function(){
        var me = this,
            loadingHeight = me.loadingHeight;

        //me.getSelectionModel().deselectAll();
        me.all.clear();
        if (loadingHeight && loadingHeight > me.getHeight()) {
            me.hasLoadingHeight = true;
            me.oldMinHeight = me.minHeight;
            me.minHeight = loadingHeight;
            me.updateLayout();
        }
    }
});

Incluya el script anterior, luego, cuando crea una cuadrícula, cambie el ViewType a SteveGridView, o lo que decida nombrarlo

    {
        xtype: 'grid', 
        viewType:'stevegridview',
        store:'some store'
        ...
    }

El nuevo tipo de vista se utilizará un nuevo OnMaskbeForeshow () se llamará.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top