六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 33|回复: 0

jqGrid ajax 互搞,json object 互搞

[复制链接]

升级  40%

30

主题

30

主题

30

主题

秀才

Rank: 2

积分
110
 楼主| 发表于 2013-1-29 10:34:57 | 显示全部楼层 |阅读模式
今天玩了玩jqGrid,贴点代码出来,以后方便copy
jqGrid 编辑模式,如果想要编辑,切记cellEdit地方的设置,少了这个,表格死也不能编辑,害老夫郁闷了很久:
jQuery("#table").jqGrid({  datatype: "json", width:1019,colNames:['编号','名称'], colModel:[    {name:'no',index:'no', width:15, editable:false},   {name:'name',index:'name', width:15, sortable:false,editable: true}], multiselect: false,cellEdit:true, cellsubmit:"clientArray",caption: "数据列表" ,onSelectRow: function(ids) {s=ids;}});
按钮提交上面这个表单的时候,注意使用POST,GET如果参数过长会被截掉
取得JQGRID中所有数据的代码:
function getFormJosn(){var tmp=[];var Data="";$("#table>tbody>tr").each(function (){ tmp[this.id] = "{'no':'"+$("#table").getRowData(this.id).no+"',"; tmp[this.id] += "'name':'"+$("#table").getRowData(this.id).name+"'}";        }); for(var n =0;n<tmp.length;n++){Data+=tmp[n];Data+=",";}return {'Data':Data}; }
ajax 将上面的数据传入后台进行业务处理
//保存$("#doSave").click(function(){var Data="";Data= getFormJosn();$.ajax({ type: 'POST', url:"xxxx.action?doSave",  data: Data, success:function(data){ alert("over"); }}); });
在补充个JSON互转的代码
public class JsonProvider {public static String writeToString(Object object){String result ="";try {    ObjectMapper m = new ObjectMapper();result =m.writeValueAsString(object);} catch (JsonGenerationException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (JsonMappingException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}return result ;}public static TypeData fromJSON(String json, TypeData clazz) {ObjectMapper mapper = new ObjectMapper();try {clazz=  mapper.readValue(json, TypeData.class);} catch (JsonGenerationException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (JsonMappingException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}return clazz;} public static void main(String[] args) { //resolveJson(); String json="{\"name\":\"张三\",\"年龄\":\"15\"}"; fromJSON(json,new TypeData());}}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表