Tôi phải xóa khả năng chọn một số hàng trong lưới của mình.Xóa khả năng chọn các hàng cụ thể trong lưới ExtJS 4
tôi sử dụng CheckboxModel
selModel: Ext.create('Ext.selection.CheckboxModel', {
mode: 'SIMPLE'
})
Để vô hiệu hóa lựa chọn tôi sử dụng beforeselect kiện
beforeselect: function (row, model, index) {
if (model.data.id == '3') {
return false;
}
}
Và để ẩn hộp kiểm Tôi sử dụng lớp học cụ thể cho hàng và css quy tắc
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;
}
Có lẽ đây không phải là cách tốt nhất để đạt được kết quả mong muốn, nhưng đối với nhiệm vụ của tôi nó hoạt động.
Tuy nhiên, một sự cố khác xuất hiện: Chọn Tất cả/Bỏ chọn tất cả hộp kiểm tra trong tiêu đề lưới dừng hoạt động. Khi bạn lần đầu tiên bấm vào ckechbox này tất cả các dòng trừ những dòng không được chọn sẽ chọn, nhưng nếu bạn bấm lần nữa, không có gì xảy ra. Rõ ràng, hệ thống sẽ cố gắng chọn lại tất cả các hàng, vì không được chọn.
Có cách nào tốt hơn để giải quyết sự cố không? Hoặc cách giải quyết vấn đề với phương pháp này.
Điều duy nhất xuất hiện trong đầu - bạn cần phải viết lại các chức năng Chọn tất cả/Bỏ chọn tất cả cho hộp kiểm, nhưng tôi không chắc chắn cách tôi có thể thực hiện.
Cảm ơn trước vì câu trả lời của bạn và tôi xin lỗi nếu tôi đưa ra câu hỏi của mình không tuân theo các quy tắc.