Я попробовал предложения, приведенные в Как выбрать строку jqGrid при установке флажка , и они не сработали.
var lastsel;
jQuery().ready(function (){
jQuery("#rowed3").jqGrid({
url:'ajax.cgi?datagrid=2®ion=1',
datatype: "xml",
colNames:[' ','Approve/<br>Deny', 'MRC', 'Order<br>Number','Notes'],
colModel:[
{name:'detail_link',index:'detail_link',width:15},
{name:'approve',index:'approve', sortable:true, search:true,
searchoptions: { sopt: ['eq','ne','bw','ew']}, width:60,
align: "center", editable:true, edittype:"checkbox",
formatter: "checkbox", formatoptions: {disabled : false}},
{name:'gross',index:'gross', search:true,
searchoptions: { sopt: ['eq','ne','bw','ew']},
editable:true, sortable:true, width:60},
{name:'svsOrderNumber',index:'svsOrderNumber', sortable:true,
search:true, searchoptions: { sopt: ['eq','ne','bw','ew']},
width:80,editable:true},
{name:'approve_notes',index:'approve_notes', sortable:true,
search:true, searchoptions: { sopt: ['eq','ne','bw','ew']},
width:100,editable:true}
],
loadtext: 'Retrieving Data...',
rowNum:15,
rowList:[15,30,45],
ajaxRowOptions: { async: true },
height: "auto",
pager: '#prowed3',
loadonce: true,
sortname: 'ID',
sortable:true,
viewrecords: true,
sortorder: "desc",
imgpath: '/images',
onSelectRow: function(id){
if(id && id!==lastsel){
jQuery('#rowed3').jqGrid('restoreRow',lastsel);
lastsel=id;
}
jQuery('#rowed3').jqGrid('editRow',id,true,'','','',
{action:'finance',region:1});
},
editurl: 'ajax.cgi',
caption: ""
}).navGrid('#prowed3',
{search:true, edit: false, add:false, del:false,
refresh:true, searchtext:"Search"});
Я сохраняю данные строки в реальном времени, нажимая клавишу ввода. Единственный способ сохранить данные флажка - если строка выбрана первой, то при проверке не происходит выбор строки, поэтому сохранение не происходит. Я знаю, что мои пользователи будут сбиты с толку и ожидают, что смогут установить флажок и просто нажать клавишу ввода, не выбрав сначала строку.
Кроме того, моя кнопка «перезагрузить сетку», похоже, ничего не делает. Я хотел бы, чтобы он перезагрузил сетку с сервера:)