0

I am using buffered store grid in extjs 4.1 after checking header checkbox all records get checked in view and if I scroll to the last and come back to first record my header checkbox and some rows get unchecked. i have used prunRemoved false on selection model. Please provide workaround for it. Thanks

my store for grid and grid:

var bufferedStore = Ext.create('Ext.data.Store', {
        fields: ['key', 'fullName', 'text'],
        buffered: true,
        purgePageCount: null,
        pageSize: 50,
        leadingBufferZone: 200,
        trailingBufferZone: 200,
        proxy: {
            type: 'direct',
            directFn: diFn,
            reader: {
                type: 'json',
                root: 'data',
                totalProperty: 'total'
            }
        },
        remoteFilter : true
    });


 var tabGridPanel = Ext.create('Ext.grid.Panel', {
        itemId : _gridPanelId,
        maxWidth: 478,
        minWidth: 328,
        width: 328,
        maxHeigth : 150,
        minHeight : 40,
        rowLines: false,
        store : _store,
        id : panelId,
        searchAllowed : _showSearch,
        persistedSelections : {},
        selModel: new Ext.selection.CheckboxModel({
            allSelected : false,
            allDeSelected : false,
            mode : 'SIMPLE',
            includeFuture : false,
            pruneRemoved: false
        }),
        viewConfig: {
            stripeRows: true,
            deferEmptyText: false,
            emptyText: ' No instance available',
            listeners: {
                    'refresh': function(view, opt) {
                    var grid = mainPanel.queryById(_gridPanelId);
                    var store = view.getStore();
                    var selModel = grid.getSelectionModel();

                    var record = view.getStore().findRecord("text", "all",0, false, true, true);
                    if (!selModel.allSelected && selModel.isSelected(record))
                        selModel.deselect(record,true);

                    if (selModel.allSelected)
                        selModel.selectAll(true);
                    else if (selModel.allDeSelected) 
                        selModel.deselectAll(true);
                    else{
                        for (var i in grid.persistedSelections) {
                            var index = store.findExact('fullName',i);
                            if (index != -1) {
                                grid.getSelectionModel().select(index,true,true);
                            }
                        }
                    }
                },
                'afterrender' : function() {
                    this.el.dom.style['overflow-x'] = 'hidden';
                    this.el.dom.style['overflow-y'] = 'auto';
                }
            }
        },
        columns: [{ 
            dataIndex: 'fullName',   
            width : "92%",
            menuDisabled: true,
            sortable:false
        }]
    });

when i scroll normally selection remains but if i go directly to the end some rows get unchecked with header checkbox too.

Priyanka
  • 53
  • 7

0 Answers0