JqGrid自写资料
一:重要的demo的网站:
/blog/jqgrid/jqgrid.html
二:最基本的jqGrid语法应用:
$("#listxianshi").jqGrid({
url:url+"?oper=2", --传入后台的地址。
mtype:'post',秃头会遗传吗 --提交后台方式
datatype:'json', --得到后台传入前台的方式
colNames:['名字','价格','类型','时间','地点','地点id','本身id','特色'], --列名的表头
colModel:[
{name:'sname',index:'sname',editable:true},
{name:'sprice',index:'sprice'},
{name:怎么激活手机卡'stype',index:'stype'},
{name:'schuangshi',index:'schuangshi',formatter:'date',formatoptions:{newformat:'Y-m-d',srcformat:'Y-m-d'}},
{name:'stypekeyidname',index:'stypekeyidname'},
{name:'stypekeyid',index:'stypekeyid',hidden怎么折纸:'true',},
{name:'sid',index:'sid',hidden:'true'},
{name:'te',index:'te'正能量签名简短,hidden:'true'}
], --显示的列。
pager:"#pager", --得到分页的层
rownumbers:true, --是否在表格最前端添加1列为自动编号
rowNum:5, --一页显示几行?
page:1, --从弟几页开始
rowlist:[10,20,30],常用的成语 --多少页一段
caption:'显示 or hidden', --标题
});
三:自带的查询功能一:单条件查询
前台语法:
$(“#灵一listxianshi”三国之吞并天下)jqGrid(‘navGrid’,’#pager’,{
edit:true, --是否可以修改?
edittext:’编辑’, --按钮的名字
arch:true, --是否可以查询
archtext:’查询’, --按钮的名字
del:true, --是否可以删除
deltext:’删除’,
add:true, --是否可以添加
addtext:清蒸加吉鱼’添加’
})
后台语法:
String paramter(“archField”); --条件查询的字段。
String Paramter(“archOper”); --条件查询的方式是等于还是其他的。
String Paramter(“archString”); --条件查询的值。
四:自带查询方式二:多条件查询
前台语法:
gridComplete:function(){
$("#listxianshi").jqGrid('navGrid',"#pager",
{edit:true,edittext:'编辑'
,add:true,addtext:'添加'
,del:true,deltext:'删除'
,view:true,viewtext:'查看'},
{},
{},
{},
{multipleSearch:true,cloOnEscape}
//multipleSearch:多条件方式
//cloonEscape:按esc按钮的时候关闭查询窗口
)}
在jqGrid中设置参数enableSearch:true意思是:查询完毕自动关闭查询窗口
后台的语法:
1. 添加json-lib.jar架包
2. 创建一个json对象
JSONObject jst=null;
3. 得到页面传回来的json类型的字符串
String Pamater(“filters”);
4. 转换为json对象
jst=JSONObject.fromObject(filters);
5. 得到多条件的方式是and或者是or?
String ("groupOp”).toString();
6. 将得到的json字符串转换为对象数组
JSONArray ja=JSONArray.(“rules”));
7. 循环数组。拼接条件
for(int i=0;i<ja.size;i++){
(1).从数组中提出对象
JSONObject (i);
(2).得到查询的列名
String (“field”).toString();
(3).得到查询的方式。是等于或者是大于或者是小于
String (“ob”).toString();
(4).得到查询的值
String String(“data”).toString();
//进行拼接字符串。此步省略。
}
五:关于表格查询需要注意的语法:
1. 框架查询的封装语法
HQuery qh=new HQuery(); --封装的类。
StringBuffer sql=new StringBuffer("from Sceniczone"); --sql语句。。
List<Sceniczone> list=new ArrayList();
qh.tPageStartNo((pages-1)*pagesize);
// 这句话的意思是开始页数的记录查询
// pages是前台得到的page意思是开始页数。
qh.tPageSize(pagesize);
//每页最多显示几条pagesize是前台的rowNum。
//把sql语句放入里面
qh.String());
//得到返回来的集合 sd.是dao中的相对应的实体类的类。
List=sd.findEntity(qh);
//得到总记录数。和总页数.
Int page_TotalPage();--总页数
Int count_TotalRecord(); --总记录数。
//判断是否是最后一页
If(pages>=page_total){
pages=page_total;
list=sd.findEntity(qh);
};
//查询完毕。拼接json字符串。
第一步:需要两个对象:
JqGridJSONBean jqjson=new JqGridJSONBean();
ObjectMapper om=new ObjectMapper();
第二步:拼接总页数,当前页数,一页的最大记录条数。
//总页数
jqjson.tTotal(page_total);
//当前页数
jqjson.tPage(pages);
// 一页最大记录多少条
Jqjson.tRecords(pagesize);
第三步:循环的方式拼接每行的记录
List<Row> listrow=new ArrayList();
for(int i=0;i<list;i++){
Row r=new Row();
r.(i).get…);
//拼接列中的值
list cell=new Arraylist();
cell.add((i).get…)
cell.add((i).get…)
cell.add((i).get…)
cell.add(……,(i).get…)
把cell放入row中
r.tCell(cell);
把每行都添加到listrow集合中去
Listrow.add(r);
}
第四步:把对象转成json的字符串
jqjson.tRows(listrow)
String json=new StringBuffer(om.writeValueAsString(jqjson));
2. 把json字符串转成对象传往前台。
respon.tContentType("text/x-json; chart=utf-8");
respon.tHeader("Cache-Control", "no-cache, must-revalidate");
Writer().String());
六:自带的添加功能:
前台语法:
$(“#listxianshi”)jqGrid(‘navGrid’,’#pager’,{
edit:true, --是否可以修改?