I fixed it ! the problem is after reload grid the datatype resets to its default value and we need to set it back to json or xml again!
$('#btnRefresh').click(function () {
$.ajax({
type : "GET",
url: "${pageContext.request.contextPath}/General/ProvinceLoadGrid.json",
success: function (data) {
if (data != null) {
jQuery('#dataTable').jqGrid('clearGridData')
.jqGrid('setGridParam', {data: data, datatype: 'json'})
.trigger('reloadGrid');
}
}
});
)};