Если вы видите здесь, в моем коде, я также используя ondblClickRow
в моей сетке. Если вы видите здесь, я получаю все значения строк и вношу свои собственные изменения, что захочу, и, наконец, загрузив страницу сведений о работе с document.location.href
.
Я могу сделать это для всех строк в сетке.
ondblClickRow: function(rowId) {
var rowData = jQuery(this).getRowData(rowId);
var jobNumber = rowData['jobNumber'];
var jobName = rowData['description'];
var jobCustomer = rowData['customerName'];
var jobStatus = rowData['jobStatus'];
jobName = jobName.replace(/&/g, "``");
jobName = jobName.replace(/#/, "__");
var aQryStr = "jobNumber=" + jobNumber + "&jobName=" + jobName + "&jobCustomer=" + jobCustomer;
console.log("./jobflow?token=view&" + aQryStr);
document.location.href = "./jobflow?token=view&" + aQryStr;
},
Если вы хотите увидеть мой полный код сетки:
$("#jobsGrid").jqGrid({
url:'../job_controller',
datatype: 'JSON',
mtype: 'POST',
pager: jQuery('#jobsGridPager'),
colNames:['Job #','Project','City', 'Rep', 'Status', 'Customer', 'Cust PO #', 'Rep. #'],
colModel :[
{name:'jobNumber', index:'jobNumber', align:'left', width:50, editable:true,hidden:false, edittype:'text',
editoptions:{size:30,readonly:true},editrules:{edithidden:false,required:false}},
{name:'description', index:'description', align:'left', width:150,hidden:false, editable:true,
editoptions:{size:20,readonly:false, alignText:'right'},editrules:{edithidden:true,required:true}},
{name:'locationCity', index:'locationCity', align:'', width:90,hidden:false, editable:true,
editoptions:{size:20,readonly:false, alignText:'right'},editrules:{edithidden:true,required:true}},
{name:'initials', index:'initials', align:'center', width:30,hidden:false, editable:true,
editoptions:{size:20,readonly:false, alignText:'right'},editrules:{edithidden:true,required:true}},
{name:'jobStatus', index:'jobStatus', align:'center', width:60,hidden:false, editable:true,
editoptions:{size:20,readonly:false, alignText:'right'},editrules:{edithidden:true,required:true}},
{name:'customerName', index:'customerName', align:'', width:150,hidden:false, editable:true,
editoptions:{size:20,readonly:false, alignText:'right'},editrules:{edithidden:true,required:true}},
{name:'customerPONumber', index:'customerPONumber', align:'center', width:90, hidden:false, editable:true,
editoptions:{}, editrules:{edithidden:true,required:false}},
{name:'code', index:'code', align:'center', width:40,hidden:false, editable:true,
editoptions:{size:20,readonly:false, alignText:'right'},editrules:{edithidden:true,required:true}}
],
rowNum: 50, pgbuttons: true,
recordtext: '',
rowList: [50, 100, 200, 500, 1000],
viewrecords: true,
pager: '#jobsGridPager',
sortname: 'employeeId', sortorder: "asc", imgpath: 'themes/basic/images', caption: 'Jobs',
height:547, width: 1140,/*scrollOffset:0,*/ rownumbers:true, altRows: true, altclass:'myAltRowClass', rownumWidth: 45,
ondblClickRow: function(rowId) {
var rowData = jQuery(this).getRowData(rowId);
var jobNumber = rowData['jobNumber'];
var jobName = "" + rowData['description'];
var jobCustomer = rowData['customerName'];
var jobStatus = rowData['jobStatus'];
jobName = jobName.replace(/&/g, "``");
jobName = jobName.replace(/#/, "__");
var aQryStr = "jobNumber=" + jobNumber + "&jobName=" + jobName + "&jobCustomer=" + jobCustomer;
console.log("./jobflow?token=view&" + aQryStr);
document.location.href = "./jobflow?token=view&" + aQryStr;
},
jsonReader : {
root: "rows",
page: "page",
total: "total",
records: "records",
repeatitems: false,
cell: "cell",
id: "id",
userdata: "userdata"
}
}).navGrid('#jobsGridPager', add:false,edit:false,del:false,refresh:false,search:false}
);
Почему вы используете 'sel_id' вместо использования' rowid' параметра вместо этого? Если бы вы всегда имели одинаковое значение параметра 'rowid', вы должны проверить правильность заполнения сетки данными. В случае, если вы можете включить в свой вопрос более полное определение jqGrid (например, может быть интересно, если вы используете 'multiselect: true') и включаете тестовые данные (по крайней мере, две строки данных). – Oleg
Ну, я был первоначально используя следующий код, но у меня была такая же проблема, – nsilva
ondblClickRow: функция (ROWID) \t \t { \t \t вар ROWDATA = новый Array(); \t \t \t rowData = $ ("# bookings"). GetRowData (rowid); $ (диалог «# cp-bookings-dialog»). ({Hide: 'slide', height: 625, width: 733, title: 'Reference Reference: -' + rowData ['bookref']}); \t \t}, – nsilva