jeudi 26 juillet 2018

Issue with extjs checkbox header

I'm currently implementing part of a project in ExtJS, the requires me to modify an existing grid to only show checkboxes on rows with a certain status(different than AN, NP, RS), this status is determined by the value in record.data.codiceStato :

 selectionModel = Ext.create('Ext.selection.CheckboxModel', 
               {checkOnly : true, 
            listeners : {
                select:function(sm, idx, rec ){
                    alert("Look ma!");
                }, 
                beforeSelect : function(sm, idx, rec ) {

                     if(idx.data.codiceStato == 'RS' || idx.data.codiceStato == 'AN' || idx.data.codiceStato == 'NP')
                         return false; 

                }

             }      
                ,renderer : function(value, metaData, record, rowIndex, colIndex, store, view) {
                    if(record.data.codiceStato != 'RS' && record.data.codiceStato != 'AN' && record.data.codiceStato != 'NP')
                        return '<div style="margin-left: -1px;" class="' + Ext.baseCSSPrefix + 'grid-row-checker"> </div>'; 

                    else 
                        return ''; 
                }
           });

I have written a check in my beforeSelect listener in order to avoid the checkbox selecting the rows that do not have this status and it works. The only problem is with the header checkbox now, in fact, when I click on it the first time it enables all the rows with a checkbox, but then it doesn't uncheck them when I click on it again. Any solutions ? Thank you




Aucun commentaire:

Enregistrer un commentaire