У меня есть мастер сетка и хочу, чтобы отобразить результаты по ряду клика от главной сетки подробно сетки .. Я не в состоянии получать данные о моей детализации сетке ....jqGrid проблема мастер сетки
$(document).ready(function(){
{ $("#navmenu-v li").hover(
function() {
$(this).addClass("iehover"); },
function() {
$(this).removeClass("iehover");
});
jQuery("#list10").jqGrid({
sortable:true,
url: '/cpsb/json/jsonpageheader.txt',
datatype:'json',
colNames:['Order','Load', 'Gate Time', 'Stop','Customer','Status'],
colModel:[
{
name:'orderNumber',
index:'orderNumber',
width:130,
align:"center",
sorttype:"int"
},
{
name:'loadNumber',
index:'loadNumber',
width:100, align:"center",
sorttype:"int"
},
{
name:'latestTime',
index:'latestTime',
width:160,
align:"center"
},
{
name:'stopSeq',
index:'stopSeq',
width:80,
align:"center",
sorttype:"int"
},
{
name:'customerNumber',
index:'customerNumber',
width:100,align:"center",
sorttype:"int"
},
{
name:'orderStatus',
index:'orderStatus',
width:80, align:"center"
} ],
rowNum:10,
rowList:[10,20,30],
jsonReader : {repeatitems: false,
root: function(obj) {
return obj;
},
page: function (obj) { return 1; },
total: function (obj) { return 1; },
records: function (obj) { return obj.length; }
},
pager: '#pager10',
sortname: 'Gate Time',
sortorder: "desc",
viewrecords: true,
multiselect: true,
caption: "Order Header",
onSelectRow: function(ids) {
if(ids == null) {
ids=0;
if(jQuery("#list10_d").jqGrid('getGridParam','records') >0)
{
jQuery("#list10_d").jqGrid('setGridParam',{url:"/cpsb/unprocessedOrders.do?method=getUnprocessedOrderDetails"+ids,page:1});
jQuery("#list10_d").jqGrid('setCaption',"Order Header: "+ids).trigger('reloadGrid'); }
}
else {
jQuery("#list10_d").jqGrid('setGridParam',{url:"/cpsb/unprocessedOrders.do?method=getUnprocessedOrderDetails"+ids,page:1});
jQuery("#list10_d").jqGrid('setCaption',"Order Details: "+ids).trigger('reloadGrid');
}
} ,
height:'100%'
});
jQuery("#list10").jqGrid('navGrid','#pager10',{excel:true, add:false,edit:false,del:false,searchtext:"Filter"},{},{},{},{multipleSearch:true});
$("#list10").jqGrid('hideCol', 'cb');
jQuery("#relCasePick").click(function(){
var id = jQuery("#list10").jqGrid('getGridParam','selarrrow');
alert(id);
});
jQuery("#list10_d").jqGrid({
height: 100,
url:'/cpsb/unprocessedOrders.do?method=getUnprocessedOrderDetails',
datatype: "json",
colNames:['Order','SKU', 'UPC', 'Item Description','Quantity Ordered','Teach in Hold?'],
colModel:[ {name:'Order',index:'', width:55},
{name:'SKU',index:'sku', width:55},
{name:'UPC',index:'qty', width:40, align:"right"},
{name:'Item Description',index:'unit', width:150, align:"right"},
{name:'Quantity Ordered',index:'quantity', width:150,align:"right", sortable:false, search:false},
{name:'Teach in Hold?',index:'teachInId', width:150, align:"right"}, ],
rowNum:5,
rowList:[5,10,20],
jsonReader : {repeatitems: false,
root: function(obj) {
return obj;
},
page: function (obj) { return 1; },
total: function (obj) { return 1; },
records: function (obj) { return obj.length; }
},
pager: '#pager10_d',
sortname: 'SKU',
viewrecords: true,
sortorder: "asc",
multiselect: true,
caption:"Order Detail"
}).navGrid('#pager10_d',{add:false,edit:false,del:false}, {},{},{},{multipleSearch:true});
jQuery("#ms1").click(function() {
var s;
s = jQuery("#list10_d").jqGrid('getGridParam','selarrrow');
alert(s); });
}});
есть способ, что я не буду тянуть другие данные сетки и вместо того, чтобы только строки клики от 1-ой сетки я буду получить значения для следующей сетки
Да следующая сетка подробно сетка .. что в основном заключается в том, чтобы получить соответствующие значения для номера заказа из главной сетки и отображения он подробно ....
для второй части
is there a way that i will not pull the other grid data and instead of that only on row click from 1st grid i will get the values for next grid?
Вместо того, чтобы получать все данные с сервера можно просто вытащить данные только о выборе строки из первой сетки ...
Более того, у меня есть релиз вызова кнопки для выбора случая и нажатия на эту кнопку. Я отправил выбранные строки в базу данных. Я для этого использовал класс действий, но как мне нужно отправить выбранные строки.
jQuery("#relCasePick").click(function(){
var id = jQuery("#list10").jqGrid('getGridParam','selarrrow');
alert(id);
});
я могу сделать что-то вроде jQuery(("#list10").jqGrid('getGridParam','action class URL')
я могу сделать что-то подобное для отправки строки на сервер
jQuery("#relCasePick").click(function(){
var rows= jQuery("#list10").jqGrid('getRowData');
var paras=new Array();
for(var i=0;i<rows.length;i++){
var row=rows[i];
paras.push($.param(row));
}
$.ajax({
type: "POST",
url: "/cpsb/unprocessedOrders.do?method=releaseToCasePick",
data: paras.join('and'),
success: function(msg){
alert(msg);
}
});
JQuery ("# relCasePick") нажмите (функция() { вар строк = JQuery ("# песни10") jqGrid ('getRowData.'); вар пункты = новый Array(); для (вар I = 0; г
Paul
Да. Что-то вроде этого может работать. Я бы назвал только 'jqGrid ('getGridParam', 'selarrrow')', чтобы получить идентификаторы только выбранных строк и не вызывать 'jqGrid ('getRowData')' без второго параметра, которые получают ** все данные ** из сетки. Кроме того, если вам нужны только значения из 'orderNumber', вы можете использовать' jqGrid ('getCell', ids [i], 'orderNumber') 'вместо' jqGrid ('getRowData', ids [i]). OrderNumber'. Если значения из 'orderNumber' уникальны, вы можете использовать этот столбец как id. Для этого введите «ключ: истина» в определении столбца столбца 'orderNumber'. Тогда идентификаторы из' selarrrow' будут значениями, которые вам нужны. – Oleg
. Как упаковать данные, которые вы хотите отправить на сервер, вы должны сами решить. В общем случае, если 'ids' является массивом идентификаторов, которые вы хотите отправить, тогда' JSON.stringify' будет JSON-форматированной строкой с данными. Вы можете использовать '. $ .ajax ({type:" POST ", url: someUrl, data: JSON.stringify (ids), dataType:" json ", success: function (msg) {alert (msg);}}); 'для отправки данных. Зависит от ваших серверных компонентов, которые вы используете, если потребуется изменить 'data: JSON.stringify (ids)' на что-то вроде 'data: {myParam: JSON.stringify (ids)}'. Затем вы сможете получить входные данные из входного параметра myParam. – Oleg