<%-- jQGrid Init --%>
<script type="text/javascript">
$(function() {
$("#grid").jqGrid({
url:'<%=request.getContextPath()%>/jQueryGrid/getComplexGridData',
datatype: 'json',
mtype: 'POST',
colNames:['Id', 'Product Name', 'Category'],
colModel:[
{name:'id',index:'id', width:55,editable:false,editoptions:{readonly:true,size:10},hidden:false},
{name:'productName',index:'productName', width:100,editable:true,editoptions:{readonly:true,size:10},hidden:false},
{name:'categoryName',index:'categoryName', width:100,editable:true,editoptions:{readonly:true,size:10},hidden:false}
],
postData: {
},
rowNum:20,
rowList:[20,40,60],
height: 200,
autowidth: true,
rownumbers: true,
pager: '#pager',
sortname: 'id',
viewrecords: true,
sortorder: "asc",
caption:"Products",
emptyrecords: "Empty records",
loadonce: false,
loadComplete: function() {
alert("Complete");
},
jsonReader : {
root: "rows",
page: "page",
total: "total",
records: "records",
repeatitems: true, //if 'false' will chage json reader format to 'name' require
//cell: "cell",
id: "0" //id: "id"
}
});
$("#grid").jqGrid('navGrid','#pager',
{edit:false,add:false,del:false,search:true},
{ },
{ },
{ },
{
sopt:['eq', 'ne', 'lt', 'gt', 'cn', 'bw', 'ew'],
closeOnEscape: true,
multipleSearch: true,
closeAfterSearch: true }
);
$("#grid").navButtonAdd('#pager',
{ caption:"Add",
buttonicon:"ui-icon-plus",
onClickButton: addRow,
position: "last",
title:"",
cursor: "pointer"
}
);
$("#grid").navButtonAdd('#pager',
{ caption:"Edit",
buttonicon:"ui-icon-pencil",
onClickButton: editRow,
position: "last",
title:"",
cursor: "pointer"
}
);
$("#grid").navButtonAdd('#pager',
{ caption:"Delete",
buttonicon:"ui-icon-trash",
onClickButton: deleteRow,
position: "last",
title:"",
cursor: "pointer"
}
);
$("#btnFilter").click(function(){
$("#grid").jqGrid('searchGrid',
{multipleSearch: false,
sopt:['eq']}
);
});
// Toolbar Search
$("#grid").jqGrid('filterToolbar',{stringResult: true,searchOnEnter : true, defaultSearch:"cn"});
});
</script>
<%-- End jQGrid Init --%>
<%-- jQGrid Function --%>
<script type="text/javascript">
function addRow() {
// Get the currently selected row
$("#grid").jqGrid('editGridRow','new',
{ url: "jqGridServlet/add",
editData: {
},
recreateForm: true,
beforeShowForm: function(form) {
},
closeAfterAdd: true,
reloadAfterSubmit:false,
afterSubmit : function(response, postdata)
{
var result = eval('(' + response.responseText + ')');
var errors = "";
if (result.success == false) {
for (var i = 0; i < result.message.length; i++) {
errors += result.message[i] + "<br/>";
}
} else {
$("#dialog").text('Entry has been added successfully');
$("#dialog").dialog(
{ title: 'Success',
modal: true,
buttons: {"Ok": function() {
$(this).dialog("close");}
}
});
}
// only used for adding new records
var new_id = null;
return [result.success, errors, new_id];
}
});
}
function editRow() {
// Get the currently selected row
var row = $("#grid").jqGrid('getGridParam','selrow');
if( row != null )
$("#grid").jqGrid('editGridRow',row,
{ url: "jqGridServlet/edit",
editData: {
},
recreateForm: true,
beforeShowForm: function(form) {
},
closeAfterEdit: true,
reloadAfterSubmit:false,
afterSubmit : function(response, postdata)
{
var result = eval('(' + response.responseText + ')');
var errors = "";
if (result.success == false) {
for (var i = 0; i < result.message.length; i++) {
errors += result.message[i] + "<br/>";
}
} else {
jq("#dialog").text('Entry has been edited successfully');
jq("#dialog").dialog(
{ title: 'Success',
modal: true,
buttons: {"Ok": function() {
jq(this).dialog("close");}
}
});
}
return [result.success, errors, null];
}
});
else $( "#dialogSelectRow" ).dialog();
}
function deleteRow() {
// Get the currently selected row
var row = $("#grid").jqGrid('getGridParam','selrow');
// A pop-up dialog will appear to confirm the selected action
if( row != null )
$("#grid").jqGrid( 'delGridRow', row,
{ url: 'jqGridServlet/delete',
recreateForm: true,
beforeShowForm: function(form) {
//change title
$(".delmsg").replaceWith('<span style="white-space: pre;">' +
'Delete selected record?' + '</span>');
//hide arrows
$('#pData').hide();
$('#nData').hide();
},
reloadAfterSubmit:false,
closeAfterDelete: true,
afterSubmit : function(response, postdata)
{
var result = eval('(' + response.responseText + ')');
var errors = "";
if (result.success == false) {
for (var i = 0; i < result.message.length; i++) {
errors += result.message[i] + "<br/>";
}
} else {
$("#dialog").text('Entry has been deleted successfully');
$("#dialog").dialog(
{ title: 'Success',
modal: true,
buttons: {"Ok": function() {
$(this).dialog("close");}
}
});
}
// only used for adding new records
var new_id = null;
return [result.success, errors, new_id];
}
});
else $( "#dialogSelectRow" ).dialog();
}
</script>
<%-- End jQGrid Function --%>
<p>JqGrid - Java Servlet/EJB Integration Tutorial</p>
<div id="jqgrid">
<table id="grid"></table>
<div id="pager"></div>
</div>
<div id="dialog" title="Feature not supported" style="display:none">
<p>That feature is not supported.</p>
</div>
<div id="dialogSelectRow" title="Warning" style="display:none">
<p>Please select row</p>
</div>
ref: http://medicalhub.googlecode.com/svn/trunk/MedicalHub-war/web/WEB-INF/view/prototype/jQueryGridComplex.jsp
No comments:
Post a Comment