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);
分享到:
相关推荐
jqGrid是一个非常好用的免费开源Grid组件,功能强大,适用于各种表格操作,数据管理。作为jquery插件,jqGrid使用方便,简介,美观。
MVC4网站中集成jqGrid表格插件-示例源代码
MVC4网站中集成jqGrid表格插件-示例源代码,包含基础basecontroller,以及5个controller
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没有setComplexGroupHeaders方法,使用此插件实现三级分组表头功能
第一个jqGrid例子 第一个jqGrid例子 第一个jqGrid例子
jqgrid-contextmenu-show-hide-columns jQGrid 具有显示/隐藏列功能(上下文菜单) 此存储库是讨论在 jqGrid 中添加显示/隐藏列功能的最佳方法的草案。 在列中添加可见性属性 右键单击标题以显示带有列复选框列表...
jqGrid增加时--判断开始日期与结束日期(实例代码)。需要的朋友可以过来参考下,希望对大家有所帮助
JqGrid 小例子 vs2010+mvc,JqGrid 小例子 vs2010+mvc,JqGrid 小例子 vs2010+mvc
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.4.3,用于web页面的列表分页显示
jqGrid4.2 2011-12-1最新版本
NULL 博文链接:https://only-xxp.iteye.com/blog/768029
jquery.jqGrid-4.6.0(jquery表格插件).zip----------jqGrid4.6.0包,官网下载的,原封不动的在这里。 jqgrid_demo40-----可用的-使用方法请查看README文件.rar-----------经我修改过的demo40,官网上面demo40下载...
Jqgrid demo-史上最强大,没有之一, 为了大家能够更好的学习和使用Jqgrid网格插件,我决定用Strtus2+Spring+hibernate+Jquery+Jqgrid实现一个Jqgrid网格插件的demo。当然官方网站上面已经有了PHP版本和ASP.NET版本...
jquery.jqGrid-4.5.2.zip 官方资源文件