hola a todos, estoy trabajando con jqgrid para mostrar los datos de mi base de datos,
hago las funciones de editar, eliminar y agregar, por medio de Form Editing, hasta ahi todo bien, he podido hacer las tres operaciones,
el problema que tengo es que los eventos
reloadAfterSubmit:true, y
closeAfterAdd:true, no me funcionan, y esto es creo xq no le mando ninguna repuesta desde el servidor, ahora bien, como hago en el lado del servidor para informarle que la operacion fue un exito???
este es el codigo de la tabla
Código Javascript
:
Ver originalfunction fillGridOnEvent(){
$("#jQGrid").html("<table id=\"list\"></table><div id=\"page\"></div>");
jQuery("#list").jqGrid({
url:'<%=request.getContextPath()%>/TablaProductoServlet?q=1&action=listar',
datatype: "xml",
height: 250,
colNames:['No Producto.','Codigo','Nombre ','Precio V','Precio C','Stok','Cat','Descripcion',"Action"],
colModel:[
{name:'numero',index:'NP', width:40,sortable:true, editable:true, editoptions:{readonly:true,size:10},align:"center"},
{name:'codigo',index:'CP', width:50,sortable:false, editable:true, editoptions:{width:20},align:"center"},
{name:'nombre',index:'NOP', width:190,sortable:false, editable:true, editoptions:{width:20}},
{name:'venta',index:'PPV', width:70,sortable:false, editable:true, editoptions:{width:20},align:"center"},
{name:'compra',index:'PPC', width:70,sortable:false, editable:true, editoptions:{width:20},align:"center"},
{name:'stok',index:'PS', width:30,sortable:false, editable:true, editoptions:{width:20},align:"center"},
{name:'categoria',index:'PNC', width:100,sortable:false, editable: true,edittype:"select",editoptions:{value:"1:Videojuegos;2:Consolas;3:Accesorios"},align:"center"},
{name:'descripcion',index:'PD', width:100,sortable:false, editable:true, editoptions:{width:20},align:"center"},
{name:'view',index:'view', width:50,sortable:false,align:"center"}
],
multiselect: false,
paging: true,
rowNum:10,
rowList:[10,20,30],
pager: $("#page"),
loadonce:true,
resizable:true,
viewrecords: true,
height: "100%",
editurl:"TablaProductoServlet?q=1&action=Editar",
caption: "Listado De Productos"
}).navGrid('#page',{edit:true,add:true,del:true,pdf:true},
{
height:315, width:400, modal:true,
reloadAfterSubmit:true,
editCaption: "Editar Registro",
bSubmit: "Guardar",
bCancel: "Cancelar",
editurl:"TablaProductoServlet?q=1&action=Agregar",
closeAfterEdit : true,
bClose: "Cerrar"
},
{height:315, width:400, modal:true,
reloadAfterSubmit:true,
addCaption: "Agregrar Registro",
editurl:"TablaProductoServlet?q=1&action=Agregar",
bSubmit: "Agregar",
bCancel: "Cancelar",
closeAfterAdd:true,
reloadAfterSubmit:true,
bClose: "Cerrar"},
{height:150, width:400, modal:true,
reloadAfterSubmit:true,
delCaption: "Borrar Registro Seleccionado...???",
bSubmit: "Eliminar",
msg:"¿Esta seguro que desea eliminar el Registro Seleccionado?",
bCancel: "Cancelar",
closeAfterAdd:true,
reloadAfterSubmit:true,
bClose: "Cerrar" },
{}
);
}
jQuery().ready(function (){
//fillGrid();
});
y este el del lado del servidor
Código JSP:
Ver originalPrintWriter out = response.getWriter();
myconn.consulta(sql1);
try {
if (request.getParameter("action").equals("listar")) {
ProductoImpl servicioProducto = new ProductoImpl();
ArrayList<Producto> ListProducto = new ArrayList<Producto>();
ListProducto = servicioProducto.getList();
response.setContentType("text/xml;charset=ISO-8859-1");
String status = request.getParameter("status");
String rows = request.getParameter("rows");
String page = request.getParameter("page");
int totalPages = 0;
int totalCount = 15;
if (totalCount > 0) {
if (totalCount % Integer.parseInt(rows) == 0) {
totalPages = totalCount / Integer.parseInt(rows);
} else {
totalPages = (totalCount / Integer.parseInt(rows)) + 1;
}
} else {
totalPages = 0;
}
out.print("<?xml version='1.0' encoding='ISO-8859-1'?>\n");
out.print("<rows>");
out.print("<page>" + request.getParameter("page") + "</page>");
out.print("<total>" + totalPages + "</total>");
out.print("<records>" + 15 + "</records>");
for (int srNo = 0; srNo < ListProducto.size(); srNo++) {
int cat = ListProducto.get(srNo).getIdCategoria();
String Cat = null;
switch (cat) {
case 1:
Cat = "VideoJuegos";
break;
case 2:
Cat = "Consolas";
break;
case 3:
Cat = "Accesorios";
break;
}
out.print("<row id='" + srNo + "'>");
out.print("<cell>" + ListProducto.get(srNo).getIdProducto()+ "</cell>");
out.print("<cell>"+ ListProducto.get(srNo).getCodigoProducto()+"</cell>");
out.print("<cell><![CDATA["+ ListProducto.get(srNo).getNombreProducto()+ "]]></cell>");
out.print("<cell>"+ ListProducto.get(srNo).getPrecioVenta()+ "</cell>");
out.print("<cell>"+ ListProducto.get(srNo).getPrecioCompra()+ "</cell>");
out.print("<cell>" + ListProducto.get(srNo).getStok()+ "</cell>");
out.print("<cell><![CDATA[" + Cat + "]]></cell>");
out.print("<cell><![CDATA["+ ListProducto.get(srNo).getDescripcion()+ "]]></cell>");
out.print("<cell><![CDATA[<a href='indexa.jsp'>View</a>]]></cell>");
out.print("</row>");
}
out.print("</rows>");
} else if (request.getParameter("oper").equals("add")) {
ProductoImpl servicioProducto = new ProductoImpl();
Producto producto = new Producto();
System.out.println("Has mandado a guardar");
producto.setCodigoProducto(request.getParameter("codigo"));
producto.setNombreProducto(request.getParameter("nombre"));
producto.setPrecioVenta(request.getParameter("venta"));
producto.setPrecioCompra(request.getParameter("compra"));
producto.setStok(Integer.parseInt(request.getParameter("stok")));
producto.setIdCategoria(Integer.parseInt(request.getParameter("categoria")));
producto.setDescripcion(request.getParameter("descripcion"));
int n = servicioProducto.AddProducto(producto);
} else if (request.getParameter("oper").equals("edit")) {
ProductoImpl servicioProducto = new ProductoImpl();
Producto producto = new Producto();
System.out.println("Has mandado a guardar");
producto.setIdProducto(Integer.parseInt(request.getParameter("numero")));
producto.setCodigoProducto(request.getParameter("codigo"));
producto.setNombreProducto(request.getParameter("nombre"));
producto.setPrecioVenta(request.getParameter("venta"));
producto.setPrecioCompra(request.getParameter("compra"));
producto.setStok(Integer.parseInt(request.getParameter("stok")));
producto.setIdCategoria(Integer.parseInt(request.getParameter("categoria")));
producto.setDescripcion(request.getParameter("descripcion"));
int n = servicioProducto.UpdateProducto(producto);
}
else if (request.getParameter("oper").equals("del")) {
ProductoImpl servicioProducto = new ProductoImpl();
Producto producto = new Producto();
System.out.println(1+(Integer.parseInt(request.getParameter("id"))));
producto.setIdProducto(1+(Integer.parseInt(request.getParameter("id"))));
int n = servicioProducto.DelProducto(producto);
System.out.println("jajaja= " + n);
}
} finally {
out.close();
}
}