ajax获取json数据然后将其装载到jqgrid实现
2017-10-19 11:43
585 查看
1. 通过ajax同步获取json数据
2. 本地装载jqgrid数据
var mydata = [{"ID":"1","username":"tim","loginTime":"13:10:23","state":"1","cz":"1"},
{"ID":"2","username":"lili","loginTime":"12:10:23","state":"1","cz":"1"}];
$("#grid").jqGrid({
datatype: "local",
data : mydata,
colNames: ["ID", "用户名", "上次登录时间", "状态", "操作"],
colModel: [
{ name: "ID", index: "ID", hidden: true, align: "center" },
{ name: "username", index: "username", width: 180, align:"center"},
{ name: "loginTime", index: "loginTime", width: 300, align:"center" },
{ name: "state", index: "state", width: 180, align:"center" },
{ name: "cz", index: "cz", width: 360, align:"center" }
],
onSelectRow: function (i, selected) {
},
gridComplete: function(){
var ids = jQuery("#grid").jqGrid('getDataIDs');
for(var i in ids){
var cl = ids[i];
a = "<a title='编辑' href='<%=projectName %>/Web/login/doLogout.action' ><img src='../common/images/edit.png' alt='编辑' style='height:22px;width:20px;' border='0'></a>";
// se = "<input style='height:22px;width:20px;' type='button' value='S' onclick="jQuery('#grid').saveRow('"+cl+"');" />";
jQuery("#grid").jqGrid('setRowData',ids[i],{cz:a});
}
},
height: 300,
// altRows:true,
// pgbuttons: true,
// pginput:true,
//autowidth:true,
// pager: "#pager",
// rowNum: 10,
// multiselect: true,
// prmNames: { rows: "pageSize", page: "page" },
// rowList: [10, 20, 30],
// viewrecoders: true,
caption: "系统用户信息"
});
3. action部分代码
List<Xtuser> xtusers = (List<Xtuser>)loginInfoDao.findByHql(" from Xtuser xtuser", null, 0, 0);
//将List转化为JSON
JSONArray json=JSONArray.fromObject(xtusers);
//设置编码,防止乱码
response.setCharacterEncoding("utf-8");
PrintWriter out;
try {
out = response.getWriter();
out.write(json.toString());
} catch (IOException ex) {
ex.printStackTrace();
}
附:本地装载数据后实现分页效果(这里无需显示总条数,适合于我。)
height: 'auto' ,
pager: "#pager",
rowNum: 10,
prmNames: { rows: "pageSize", page: "page" },
rowList: [10, 20, 30],
勿忘显示分页的div:<div id="pager" ></div> 。
注意:从后台返回的json数据中如果有id,则将会覆盖jqgrid每行数据的id:
<TR id=3 class="ui-widget-content jqgrow ui-row-ltr" role=row tabIndex=-1></TR>
建议,自定义类中不要出现id属性.
转载本文请联系原作者获取授权,同时请注明本文来自程冬科学网博客。
链接地址:http://blog.sciencenet.cn/blog-448935-804589.html
2. 本地装载jqgrid数据
var mydata = [{"ID":"1","username":"tim","loginTime":"13:10:23","state":"1","cz":"1"},
{"ID":"2","username":"lili","loginTime":"12:10:23","state":"1","cz":"1"}];
$("#grid").jqGrid({
datatype: "local",
data : mydata,
colNames: ["ID", "用户名", "上次登录时间", "状态", "操作"],
colModel: [
{ name: "ID", index: "ID", hidden: true, align: "center" },
{ name: "username", index: "username", width: 180, align:"center"},
{ name: "loginTime", index: "loginTime", width: 300, align:"center" },
{ name: "state", index: "state", width: 180, align:"center" },
{ name: "cz", index: "cz", width: 360, align:"center" }
],
onSelectRow: function (i, selected) {
},
gridComplete: function(){
var ids = jQuery("#grid").jqGrid('getDataIDs');
for(var i in ids){
var cl = ids[i];
a = "<a title='编辑' href='<%=projectName %>/Web/login/doLogout.action' ><img src='../common/images/edit.png' alt='编辑' style='height:22px;width:20px;' border='0'></a>";
// se = "<input style='height:22px;width:20px;' type='button' value='S' onclick="jQuery('#grid').saveRow('"+cl+"');" />";
jQuery("#grid").jqGrid('setRowData',ids[i],{cz:a});
}
},
height: 300,
// altRows:true,
// pgbuttons: true,
// pginput:true,
//autowidth:true,
// pager: "#pager",
// rowNum: 10,
// multiselect: true,
// prmNames: { rows: "pageSize", page: "page" },
// rowList: [10, 20, 30],
// viewrecoders: true,
caption: "系统用户信息"
});
3. action部分代码
List<Xtuser> xtusers = (List<Xtuser>)loginInfoDao.findByHql(" from Xtuser xtuser", null, 0, 0);
//将List转化为JSON
JSONArray json=JSONArray.fromObject(xtusers);
//设置编码,防止乱码
response.setCharacterEncoding("utf-8");
PrintWriter out;
try {
out = response.getWriter();
out.write(json.toString());
} catch (IOException ex) {
ex.printStackTrace();
}
附:本地装载数据后实现分页效果(这里无需显示总条数,适合于我。)
height: 'auto' ,
pager: "#pager",
rowNum: 10,
prmNames: { rows: "pageSize", page: "page" },
rowList: [10, 20, 30],
勿忘显示分页的div:<div id="pager" ></div> 。
注意:从后台返回的json数据中如果有id,则将会覆盖jqgrid每行数据的id:
<TR id=3 class="ui-widget-content jqgrow ui-row-ltr" role=row tabIndex=-1></TR>
建议,自定义类中不要出现id属性.
转载本文请联系原作者获取授权,同时请注明本文来自程冬科学网博客。
链接地址:http://blog.sciencenet.cn/blog-448935-804589.html
相关文章推荐
- JQuery用$.ajax或$.getJSON跨域获取JSON数据的实现代码
- jquery的ajax和getJson跨域获取json数据的实现方法
- jquery的ajax和getJson跨域获取json数据的实现方法
- JSP中获取ExtJS.Ajax前台传递的JSON数据实现过程
- 通过jsonp获取json数据实现AJAX跨域请求
- Ajax获取数据然后显示在页面的实现方法
- easyui-combobox---ajax获取数据库JSON数据,实现搜索框实时显示模糊搜索结果
- struts2 + ajax(由前台的form提交数据到后台,再根据form所调用返回获取的后台json格式的数据返回到前端,然后前端用jquery对json数据进行解析)==》》涉及非文件上传的部分
- JQUERY 实现AJAX跨域获取json数据实例
- jquery的ajax和getJson跨域获取json数据的实现方法
- struts2 + ajax(由前台的form提交数据到后台,再根据form所调用返回获取的后台json格式的数据返回到前端,然后前端用jquery对json数据进行解析)==》》涉及文件上传的部分
- JQuery用$.ajax或$.getJSON跨域获取JSON数据的实现代码
- struts2 + ajax(从后台获取json格式的数据返回到前端,然后前端用jquery对json数据进行解析)
- JSP中获取ExtJS.Ajax前台传递的JSON数据实现过程
- jquery的ajax和getJson跨域获取json数据的实现方法
- 基于jQuery的AJAX和JSON实现纯html数据模板
- 基于jQuery的AJAX和JSON实现纯html数据模板
- asp.net 2.0中利用Ajax2.0实现JSON传送大量页面数据
- jquery返回json类型数据集合简单实现ajax返回多个数据
- ASP.NET MVC AJAX实现 以及如何处理json数据,简介