Soy nueva en JQGrid y estoy tratando de hacer algo pero no tengo idea de como hacerlo. Estoy usando JQGrid combinado con ASP y SQL Server.
Lo que quiero es cargar una sola vez los datos en el jqgrid y ya de ahi dejarlos localmente y aditar y agregar renglones. para que al final solo dar click a un boton y mandar todo el grid y agregar o editar segun corresponda.
Ahora ya tengo mi grid cargado localmente (loadonce: true) y usando Json y tambien lo puedo modificar ahi mismo (editurl:clientArray) . Pero lo que no se es como barrer ese grid y mandar todos los datos al servidor para hacer los procesos que quiera con los datos.
No se si alguien pueda darme alguna idea de como hacerlo, o por lo menos ideas de por donde buscar.
Cualquier ayudar o idea sera de muchaa ayuda. Graciass
Este es el codigo de mi JqGrid
$(function () {
var lastsel;
$("#grid").jqGrid({
sortable: true,
datatype: function () {
$.ajax(
{
url: "Default3.aspx/GetPersons", //PageMethod
data: "{'pPageSize':'" + $('#grid').getGridParam("rowNum") +
"','pCurrentPage':'" + $('#grid').getGridParam("page") +
"','pSortColumn':'" + $('#grid').getGridParam("sortname") +
"','pSortOrder':'" + $('#grid').getGridParam("sortorder") +
"','cuenta':'" + $('#grid').getGridParam("postData").Cuenta +
"','nombre':'" + $('#grid').getGridParam("postData").Nombre +
"','descripcion':'" + $('#grid').getGridParam("postData").Descripcion +
"','monedaCuenta':'" + $('#grid').getGridParam("postData").MonedaCuenta + //PageMethod Parametros de entrada
"','saldoMinimo':'" + $('#grid').getGridParam("postData").SaldoMinimo + "'}",
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
complete: function (jsondata, stat) {
if (stat == "success")
jQuery("#grid")[0].addJSONData(JSON.parse(jsondata.responseText).d);
else
alert(JSON.parse(jsondata.responseText).Message);
}
}); //Fin de AJAX
}, //FIN de Funcion dentro de DataType
jsonReader: //Set the jsonReader to the JQGridJSonResponse squema to bind the data.
{
root: "Items",
page: "CurrentPage",
total: "PageCount",
records: "RecordCount",
repeatitems: true,
cell: "Row",
id: "ID"
},
sortable: true,
width: 780,
height: 230,
colNames: ['Cuenta', 'Nombre', 'Descripcion', 'Moneda', 'Saldo Min'],
colModel: //Columns
[
{ name: 'Cuenta', index: 'Cuenta', width: 100, align: 'Center', editable: true, sorttype: "string" },
{ name: 'Nombre', index: 'Nombre', width: 200, align: 'Left', editable: true, sorttype: "string", searchoptions: { sopt: ['eq', 'ne', 'cn']} },
{ name: 'Descripcion', index: 'Descripcion', width: 300, align: 'Left', editable: true, sorttype: "string", searchoptions: { sopt: ['eq', 'ne', 'cn']} },
{ name: 'MonedaCuenta', index: 'MonedaCuenta', width: 200, align: 'Center', editable: true, sorttype: "string", edittype: "select", editoptions: { value: "EUR:EUR;MXP:MXP;OF:OF;PL:PL;USD:USD" }, searchoptions: { sopt: ['eq', 'ne', 'cn']} },
{ name: 'SaldoMinimo', index: 'SaldoMinimo', width: 100, align: 'center', sorttype: "float", editable: true, searchoptions: { sopt: ['eq', 'ne', 'cn']} }
],
pager: "#pager", //Pager.
loadtext: 'Cargando datos...',
recordtext: "{0} - {1} de {2} elementos",
emptyrecords: 'No hay resultados',
pgtext: 'Pág: {0} de {1}', //Paging input control text format.
rowNum: 100000, // PageSize.
mtype: "POST",
search: true,
viewrecords: true, //Show the RecordCount in the pager.
sortname: "Cuenta", //Default SortColumn
sortorder: "asc", //Default SortOrder.
editurl: "clientArray",
gridview: true,
onSelectRow: function (id) {
if (id && id !== lastsel) {
jQuery('#grid').restoreRow(lastsel);
jQuery('#grid').editRow(id, true);
lastsel = id;
}
else {
lastsel = id;
}
},
caption: "Cuentas",
loadonce: true
}).navGrid('#pager', { edit: false, add: false, search: false, del: false});
$('#grid').filterToolbar({ searchOnEnter: false, enableClear: false });
var mygrid = $("#grid");
$("#grid").navButtonAdd("#pager", { caption: "Toggle", title: "Toggle Search Toolbar", buttonicon: 'ui-icon-pin-s',
onClickButton: function () {
mygrid[0].toggleToolbar()
}
});
$("#grid").navButtonAdd("#pager", { caption: "Clear", title: "Clear Search", buttonicon: 'ui-icon-refresh',
onClickButton: function () {
mygrid[0].clearToolbar()
}
});
}); //FIN de $(function ()