1.jsp页面需要引入的文件
<script type="text/javascript" src="js/jquery-1.5.2.min.js"></script>
<script type="text/javascript" src="js/grid.locale-cn.js"></script>
<script type="text/javascript" src="js/jquery.jqGrid.min.js"></script>
<script type="text/javascript" src="js/mygrid.js"></script>
<link href="css/ui-lightness/jquery-ui-1.8.18.custom.css" rel="stylesheet" type="text/css" />
<link href="css/ui.jqgrid.css" rel="stylesheet" type="text/css" />
2.mygrid.js内容
function gettypes(){
//动态生成select内容
var str="";
$.ajax({
type:"post",
async:false,
url:"checkpersontype",
success:function(data){
if (data != null) {
var jsonobj=eval(data);
var length=jsonobj.length;
for(var i=0;i<length;i++){
if(i!=length-1){
str+=jsonobj[i].personType+":"+jsonobj[i].personType+";";
}else{
str+=jsonobj[i].personType+":"+jsonobj[i].personType;
}
}
//$.each(jsonobj, function(i){
//str+="personType:"+jsonobj[i].personType+";"
//$("<option value='" + jsonobj[i].personType + "'>" + jsonobj[i].personType+ "</option>").appendTo(typeselect);
//});
}
alert(str);
}
});
return str;
}
$("#list").jqGrid({
caption:"个人信息",
url:"getAllPersonInfo",
mtype: 'POST',
datatype:"json",
colNames:['编号','姓名','类别','性别','年龄','手机','email'],
colModel:[
{name:'id',index:'id',align:'center',width:60, sortable:false},
{name:"pName",index:"pName",width:80,align:"center",sorttype:"string",editable:true,edittype:'text'},
{name:"type",index:"type",width:80,align:"center",sorttype:"string",editable:true,edittype:'select',editoptions:{value:gettypes()}},
{name:"pSex",index:"pSex",width:80,align:"center",sorttype:"string",editable:true,edittype:'select',editoptions:{value:"m:男;f:女"}},
{name:"pAge",index:"pAge",width:80,align:"center", sorttype:"int",editable:true,edittype:'text'},
{name:"pMobileNo",index:"pMobileNo",width:80,align:"center",sortable:false,editable:true,edittype:'text'},
{name:"email",index:"email",width:80,align:"center",sortable:false,editable:true,edittype:'text'} //sortable:false
],
rowNum:10,
rowList:[10,20,30],
pager:"#pager",
sortname:"pName",
autowidth:true,
//height:280,
height: '100%',
viewrecords: true,
multiselect: true,
multiselectWidth: 25,
sortable:true,
sortorder: "asc",
//editurl:"addpersoninfo",
jsonReader:{
repeatitems : false
}
}).navGrid('#pager',{edit:true,add:true,del:false});
$("#add").click(function(){
jQuery("#list").jqGrid('editGridRow',"new",{height:280,reloadAfterSubmit:false,drag: true,url:"addpersoninfo"});
});
3.服务器getAllPersonInfo端servlet主要内容
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("UTF-8");
String page = request.getParameter("page"); // 取得当前页数,注意这是jqgrid自身的参数
String rows = request.getParameter("rows"); // 取得每页显示行数,,注意这是jqgrid自身的参数
String sidx = request.getParameter("sidx"); //取得排序字段
String sord = request.getParameter("sord");//排序方式asc、desc
PrintWriter out = response.getWriter();
List Alllist=PersonInfoDao.getInstance().getAllPersonInfo();
List list=PersonInfoDao.getInstance().getPersonInfo(Integer.parseInt(page),Integer.parseInt(rows),sidx,sord);
int records=Alllist.size();
// 定义返回的数据类型:json,使用了json-lib
JSONObject jsonObj = new JSONObject();
// 根据jqGrid对JSON的数据格式要求给jsonObj赋值
jsonObj.put("page", page); // 当前页
int total=(records%Integer.valueOf(rows)==0)?records/Integer.valueOf(rows):(records/Integer.valueOf(rows)+1);
jsonObj.put("total", total); // 总页数
jsonObj.put("records", records); // 总记录数
int i=0;
// 定义rows,存放数据
JSONArray json = new JSONArray();
Iterator it=list.iterator();
while(it.hasNext()){
PersonInfo p=(PersonInfo) it.next();
// 存放一条记录的对象
JSONObject cell = new JSONObject();
cell.put("id", ((Integer.parseInt(page)-1)*Integer.parseInt(rows)+i));
cell.put("pName", p.getpName());
cell.put("type", p.getType().getPersonType());
if(p.getpSex().equals("m")){
cell.put("pSex","男");
}else{
cell.put("pSex","女");
}
cell.put("pAge", p.getpAge());
cell.put("pMobileNo", p.getpMobileNo());
cell.put("email", p.getEmail());
i++;
if(i==10){
i=0;
}
// 将该记录放入rows中
json.add(cell);
}
// 将rows放入json对象中
jsonObj.put("rows", json);
//System.out.println(list);
//JSONArray json=JSONArray.fromObject(list.toArray());
//System.out.println(json.toString());
out.print(jsonObj);
4.服务器addpersoninfo端servlet主要内容
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
User user=(User) request.getSession().getAttribute("enterUser");
String name=request.getParameter("pName");
String sex=request.getParameter("pSex");
String age=request.getParameter("pAge");
int iage=0;
if(age!=null&&!age.equals("")){
iage=Integer.valueOf(age);
}
String mobile=request.getParameter("pMobileNo");
String type=request.getParameter("type");
System.out.println(type);
PersonType ptype=PersonTypeDao.getInstance().selectPersonTypeByname(type);
String email=request.getParameter("email");
String address=request.getParameter("address");
PersonInfo personinfo=new PersonInfo();
personinfo.setUser(user);
personinfo.setpName(name);
personinfo.setpSex(sex);
personinfo.setpAge(iage);
personinfo.setpMobileNo(mobile);
personinfo.setType(ptype);
personinfo.setEmail(email);
personinfo.setAddress(address);
boolean res=PersonInfoDao.getInstance().savePersonInfo(personinfo);
out.print(res);
分享到:
相关推荐
《jQuery.jqGrid-3.5-beta:一个强大的数据管理框架》 在Web开发领域,高效的数据管理和展示是至关重要的。jQuery.jqGrid是这样一个工具,它为开发者提供了强大而灵活的数据网格解决方案。这个名为"jquery.jqGrid-...
1. **基本使用**:jqGrid通过在HTML表格元素上应用jQuery选择器和方法来初始化,允许开发者轻松地将静态或动态数据转化为可操作的表格。基本语法是`$("#gridId").jqGrid(options);`,其中`options`是一个包含配置...
jqgrid-jquery-rails 由Doc Walker认可提供为Rails 3.1+资产管道打包的jqGrid jQuery插件。安装将这些行添加到应用程序的Gemfile : # jqgrid jquery plugin packaged for the rails asset pipelinegem 'jqgrid-...
jquery.jqGrid-4.8.2(jquery表格插件).zip----------jqGrid4.8.2包,官网下载的,原封不动的在这里。 jqgrid_demo40-----可用的-使用方法请查看README文件. jqgrid_3.6.5_API_en.chm------附加放在这里的其它资料...
在本"jQgrid demo"中,我们将深入探讨如何利用 jQGrid 实现交互式的数据展示和操作。 jQGrid 的核心特性包括: 1. **数据加载与显示**:jQGrid 支持从服务器或本地数据源动态加载数据,并以表格形式展示。它可以...
jqGrid与ASP.NET MVC结合使用,可以为开发者提供优雅的数据展示和管理方式,提升用户体验。 **二、MVC4简介** ASP.NET MVC4是微软推出的一种基于模型-视图-控制器(Model-View-Controller)设计模式的Web应用程序...
例如,一个名为`GetGridData`的方法可以返回JSON格式的数据,供jqGrid使用。在MVC4中,这通常通过`JsonResult`类型的动作结果实现。每个具体的控制器(如`EmployeeController`、`OrderController`等)可以根据业务...
《基于jqgrid、jQuery和servlet的智能交通后台系统详解》 在当今信息化社会,智能交通系统的建设已经成为提升城市交通管理效率、优化交通环境的重要手段。本系统利用jqgrid、jQuery和servlet技术,构建了一个功能...
jqGrid没有setComplexGroupHeaders方法,使用此插件实现三级分组表头功能
jqgrid-contextmenu-show-hide-columns jQGrid 具有显示/隐藏列功能(上下文菜单) 此存储库是讨论在 jqGrid 中添加显示/隐藏列功能的最佳方法的草案。 在列中添加可见性属性 右键单击标题以显示带有列复选框列表...
jqGrid是一款功能强大的JavaScript数据网格插件,常用于在网页上展示、操作和管理大量结构化数据。这个学习笔记主要围绕“jqGrid学习笔记1”展开,内容来源于jqGrid的英文PDF文档,结合了源码解析和实用工具的介绍。...
在本文中,我们将深入探讨jQuery.jqGrid-4.4.3版本,理解其功能、使用方法以及在实际项目中的应用。 jQuery.jqGrid是基于jQuery库的表格插件,提供丰富的功能,如数据的分页、排序、搜索和编辑等,适用于创建交互式...
jquery.jqGrid-3.8.2.zipjquery.jqGrid-3.8.2.zipjquery.jqGrid-3.8.2.zipjquery.jqGrid-3.8.2.zipjquery.jqGrid-3.8.2.zipjquery.jqGrid-3.8.2.zip
本文将围绕"jquery.jqGrid-4.3.1+jquery-ui-1.8.17.rar"这一压缩包中的两个主要组件进行深入探讨。 首先,jQuery.jqGrid 4.3.1是一个功能强大的表格展示和管理工具,适用于创建交互式的数据网格。这个版本提供了...
JqGrid使用jQuery库,提供了一种灵活、可定制的方式来呈现和管理表格数据,包括排序、分页、过滤、编辑等多种功能。 JqGrid的主要特点包括: 1. **数据展示**:JqGrid可以轻松地展示成百上千行的数据,并支持多种...
Jqgrid demo-史上最强大,没有之一, 为了大家能够更好的学习和使用Jqgrid网格插件,我决定用Strtus2+Spring+hibernate+Jquery+Jqgrid实现一个Jqgrid网格插件的demo。当然官方网站上面已经有了PHP版本和ASP.NET版本...
在这个“jqGrid使用XML數據源例子”中,我们将探讨如何配置jqGrid来从XML文件中获取并显示数据。 首先,我们需要了解XML(Extensible Markup Language)是一种用于标记数据的格式,它被广泛用于数据交换和存储。XML...
【jqGrid Servlet Demo】是一个基于Java的Web应用示例,它展示了如何在Servlet环境中使用jqGrid这个强大的jQuery插件来创建动态、交互式的表格。jqGrid是一个功能丰富的数据网格组件,能够处理大量的数据并提供排序...
jquery.jqGrid-4.6.0(jquery表格插件).zip----------jqGrid4.6.0包,官网下载的,原封不动的在这里。 jqgrid_demo40-----可用的-使用方法请查看README文件.rar-----------经我修改过的demo40,官网上面demo40下载...
将 jqGrid 与 Bootstrap 4 结合使用,可以创建美观且功能丰富的数据网格,适用于各种设备。 标题 "jqgrid + bootstrap4.0 直接使用" 暗示这个压缩包提供了一个可以直接运行的 jqGrid 示例,集成了 Bootstrap 4 的...