Я посмотрел через код, и я вижу, что кнопка удаления автоматически включается/выключается, когда внутри (такой же, как отредактировать и сохранить кнопки). Это позволит включить или отключить одну или несколько записей. Поэтому было бы проще создать пользовательскую кнопку удаления и включить/отключить в наших пользовательских условиях. Я создал jsFiddle пример
$(function() {
$('#grid').w2grid({
name: 'grid',
show: {
toolbar: true,
footer: true
},
toolbar: {
items: [
{ type: 'break' },
{ type: 'button', id: 'my-delete', caption: 'My Delete', icon: 'w2ui-icon-cross' }
],
onClick: function() {
console.log('My Delete Clicked');
}
},
searches: [
{ field: 'lname', caption: 'Last Name', type: 'text' },
{ field: 'fname', caption: 'First Name', type: 'text' },
{ field: 'email', caption: 'Email', type: 'text' },
],
columns: [
{ field: 'recid', caption: 'ID', size: '50px', sortable: true, attr: 'align=center' },
{ field: 'lname', caption: 'Last Name', size: '30%', sortable: true },
{ field: 'fname', caption: 'First Name', size: '30%', sortable: true },
{ field: 'email', caption: 'Email', size: '40%' },
{ field: 'sdate', caption: 'Start Date', size: '120px' },
],
onSelect: function(event) {
event.onComplete = function() {
if (event.recid > 0 && event.recid < 5) {
this.toolbar.disable('my-delete');
} else {
this.toolbar.enable('my-delete');
}
}
},
records: [
{ recid: 1, fname: 'Jane', lname: 'Doe', email: '[email protected]', sdate: '4/3/2012' },
{ recid: 2, fname: 'Stuart', lname: 'Motzart', email: '[email protected]', sdate: '4/3/2012' },
{ recid: 3, fname: 'Jin', lname: 'Franson', email: '[email protected]', sdate: '4/3/2012' },
{ recid: 4, fname: 'Susan', lname: 'Ottie', email: '[email protected]', sdate: '4/3/2012' },
{ recid: 5, fname: 'Kelly', lname: 'Silver', email: '[email protected]', sdate: '4/3/2012' },
{ recid: 6, fname: 'Francis', lname: 'Gatos', email: '[email protected]', sdate: '4/3/2012' },
{ recid: 7, fname: 'Mark', lname: 'Welldo', email: '[email protected]', sdate: '4/3/2012' },
{ recid: 8, fname: 'Thomas', lname: 'Bahh', email: '[email protected]', sdate: '4/3/2012' },
{ recid: 9, fname: 'Sergei', lname: 'Rachmaninov', email: '[email protected]', sdate: '4/3/2012' },
{ recid: 20, fname: 'Jill', lname: 'Doe', email: '[email protected]', sdate: '4/3/2012' },
{ recid: 21, fname: 'Frank', lname: 'Motzart', email: '[email protected]', sdate: '4/3/2012' },
{ recid: 22, fname: 'Peter', lname: 'Franson', email: '[email protected]', sdate: '4/3/2012' },
{ recid: 23, fname: 'Andrew', lname: 'Ottie', email: '[email protected]', sdate: '4/3/2012' },
{ recid: 24, fname: 'Manny', lname: 'Silver', email: '[email protected]', sdate: '4/3/2012' },
{ recid: 25, fname: 'Ben', lname: 'Gatos', email: '[email protected]', sdate: '4/3/2012' },
{ recid: 26, fname: 'Doer', lname: 'Welldo', email: '[email protected]', sdate: '4/3/2012' },
{ recid: 27, fname: 'Shashi', lname: 'Bahh', email: '[email protected]', sdate: '4/3/2012' },
{ recid: 28, fname: 'Av', lname: 'Rachmaninov', email: '[email protected]', sdate: '4/3/2012' }
]
});
});
При выборе любой записи ниже 5 будет отключить кнопку. Обратите внимание, что вы все равно можете вызвать метод удаления гридов, который будет продолжен с существующей функциональностью удаления. См. Метод grid.delete().
Спасибо, что работает – Maher