Ich muss die Möglichkeit entfernen, einige Zeilen in meinem Grid auszuwählen.Entferne die Fähigkeit, bestimmte Zeilen im Grid auszuwählen ExtJS 4
Ich benutze CheckboxModel
selModel: Ext.create('Ext.selection.CheckboxModel', {
mode: 'SIMPLE'
})
Auswahl zu deaktivieren I Before Ereignis
beforeselect: function (row, model, index) {
if (model.data.id == '3') {
return false;
}
}
verwenden und Kontrollkästchen verstecken ich bestimmte Klasse für Zeile und CSS-Regel verwenden
viewConfig: {
getRowClass: function(record, index) {
var id = record.get('id');
return id == '3' ? 'general-rule' : '';
}
}
.general-rule .x-grid-row-checker {
left: -9999px !important;
position: relative;
}
Vielleicht ist nicht der beste Weg, um das gewünschte Ergebnis zu erzielen, aber für meine Aufgabe funktioniert es.
Es erscheint jedoch ein weiteres Problem: Alle auswählen/Alle Auswahl aufheben Checkbox im Grid-Header funktioniert nicht mehr. Wenn Sie zum ersten Mal auf dieses Kontrollkästchen klicken, werden alle Zeilen mit Ausnahme derjenigen ausgewählt, die nicht ausgewählt werden sollen. Wenn Sie jedoch erneut klicken, passiert nichts. Offensichtlich versucht das System, alle Zeilen erneut auszuwählen, da sie nicht ausgewählt sind.
Gibt es einen besseren Weg, um das Problem zu lösen? Oder wie man ein Problem mit dieser Methode löst.
Die einzige Sache, die in den Sinn kommt - müssen Sie die Alle auswählen/Alle Auswahl Funktionen für Kontrollkästchen, aber ich bin mir nicht sicher, wie ich es tun kann.
Vielen Dank im Voraus für Ihre Antworten und ich entschuldige mich, wenn ich meine Frage nicht nach den Regeln gemacht habe.