Привет всем Я работаю над jqGrid, и у меня есть небольшая проблема с настройкой в редактировании строк. Я бы хотел, чтобы пользователь, находясь в режиме редактирования в строке, отключил кнопки редактирования и удаления остальных строк. Вот ссылка, чтобы показать похожую ситуацию (https://stackoverflow.com/questions/20116442/jqgrid-how-to-customize-inline-actions-buttons)!jqGrid: отключить кнопки редактирования и удаления inLine edit mode
Это код, который я использую для отключения других строк, применяющих класс 'not-editable-row' в не выбранных строках, и он отлично работает, но проблема в том, что кнопки по-прежнему активны, и пользователь может щелкнуть над ними (и таким образом также меняются кнопки на строке!). Никаких действий не выполняется, но я хочу знать, есть ли способ избежать такого поведения. выделенный текст
.....
autowidth: true,
colNames: ["Options","Dec Id","Address1", "Address2","Rule","Action", "Subddress1", "Subddress2", "Recode","Maybereason","Maybeid"],
colModel: [
{name:'act',index:'act',width:55,align:'center',sortable:false,formatter:'actions',
formatoptions:{
editbutton:true,
delbutton:true,
restoreAfterError:false,
keys: false, // true if we want use [Enter] key to save the row and [Esc] to cancel editing.
onEdit:function(rowid) {
$('#decisionGridPager').hide();
var myGrid =$("#decisionGrid");
var grid = $('#decisionGrid')[0], rows = grid.rows,cRows = rows.length, iRow, row, trClasses;
for (iRow = 0; iRow < cRows; iRow++) {
row = rows[iRow]; // row.id is the rowid
//alert(row.id);
if(rowid!=row.id){
$(row).addClass('not-editable-row');
var v = myGrid.jqGrid ('getCell', row, 'act');
}//else{alert("current row");}
}
},
onSuccess:function(jqXHR) {
return true;
},
onError:function(rowid, jqXHR, textStatus) {
if(jqXHR.responseText !== ''){
alert(textStatus+": "+jqXHR.responseText);
}
},
afterSave:function(rowid) {
$('#decisionGridPager').show();
alert("record saved");
},
afterRestore:function(rowid) {
$('#decisionGridPager').show();
return false;
}
}},
{name: "id", width: 20, hidden:true},
{name: "address1",required:true,editable:true,edittype:'text',index:"address1",sortable:true,
editoptions: {dataInit:vcode,size:10, maxlength: 6}, width: 20, editrules:{required:true}},
{name: "address2", editable:true, width: 20, align: "right",editoptions: {dataInit:vcode,size:10, maxlength: 6}},
//dataUrl:'/wacm/rulesrv?client=true' or dataUrl:'/wacm/rulesrv'
.......
Для того, чтобы избежать дальнейших взаимодействий в то время как работа пользователя на подряд пейджера скрывается, например, а затем вновь показал в функции afterSave, в то время как, если возникает любая проблема на стороне сервера и выполняется функция onError, пользователь вынужден решить проблему до продолжения. Моя цель - заставить пользователя работать в одной строке за раз. Большое спасибо за любой совет.
Помог ли мой ответ ниже? – FastTrack
Большое спасибо за ваш ответ в момент, когда у меня возникла ошибка, потому что строка, которую вы предлагаете, дает мне синтаксическую ошибку, и я работаю над устранением этой проблемы. Я заменил имя этой сетки на имя моей сетки, но я не могу получить доступ к ней. – user3069459