jqgrid学习(二)

来源:互联网 发布:云南淘宝网络营销 编辑:程序博客网 时间:2024/06/05 16:03

一、jqgrid获取或设置某一行,某一列,某个单元格的值:

1、获取选中行的id:

//获得选中一行的ID,如果表格选中多行,用selrow 这个函数,只能获得最后选中的一行的ID

var id=jQuery("#scheduleTable").jqGrid('getGridParam','selrow');

//获取选中行所有的ID,是一个数组

var ids=$("#scheduleTable").getGridParam("selarrrow");

2、获取表格所有行的id

var rids =jQuery("#scheduleTable").jqGrid('getDataIDs');

3、获取表格选中行的数据//这里id是上述获取选中行的“id”,ids同理

var data=$("#scheduleTable").jqGrid("getRowData",id);

或者 for(var i=0;i<ids.length;i++){

var data=$("#scheduleTable").jqGrid("getRowData",ids[i]);

}

4、获取表格所有行的数据

var   data= $("#scheduleTable").jqGrid("getRowData");

5、获取单元格的值

//获取某行的ID和某列名字,决定了一个单元格的位置,这样就能取出单元格的值

var str=$("#scheduleTable").jqGrid("getCell",ids[i],"表格某列的名字");


6、设置某行,某个单元格的值

//设置单元格的值,需要行id,列名,以及对应列名的值,setCell只能设置一个单元格的值

 $("#scheduleTable").jqGrid("setCell",ids[i],"表格列的名字","需要的值");

//设置某一行的值,setRowData可以同时设置一行的值,即多个列的值

  $("#scheduleTable").setRowData(rowId,{列名:值,列名:值....});

7、设置列的属性

//属性根据需要改变

 $("#scheduleTable").jqGrid("setColProp",{editType:"text"});

8、设置一行被选中

//如果某一行被选中,使用这个方法就是取消选中,如果某一行处于未选中状态,使用这个方法就使其选中

  $("#scheduleTable").setSelection(rowId);


二、表格的一些参数详解

1、传参数

postData:这里将前台某些参数封装成一个对象,作为参数传往后台

  var postData={//父表参数,

                                   projectName:$scope.projectName,

                                   subSystem:$scope.subSystem,

                                   module:$scope.module,

                                   father_son:father_son

   };

除了自定义的参数之外,jqgrid会自带一些参数:

rows://每页显示的记录条数 rowNumber,

page://当前第几页

sort:"sidx",

...

2、数据格式

datatype:这里一般是json和xml的格式

关于json格式,jqgrid期待的格式是这样:


  1.  {"page":"1","total":"2","records":"13","rows":[  
  2.  {id:"1",cell:["1","哈哈","男","polaris@gmail.com","18329382732","1995-10-2"]},  
  3.  {id:"2",cell:["2","呵呵","女","zhangsan@163.com","15329382732","1994-10-12"]},  
  4.  {id:"3",cell:["3","六六","女","wangwu@yahoo.com","13329389832","1987-12-21"]},  
  5.  {id:"4",cell:["4","七七","男","zhaoliu@sina.com","18929343731","1999-09-22"]}  
  6.  ]  
  7.  }  

上述格式对应的jsonReader的格式如下:

jsonReader :

{

root: "rows"

page: "page",

total: "total",

records: "records",

repeatitems: true,

cell: "cell",//root 中row 行

id: "id",//唯一标识

userdata: "userdata",

},

但是并不是一定这种格式不可,设置jsonReader可以解决,继续看下面~

3、jsonReader 

   jsonReader : {

                                       root:"rows",//数据模型

                                       page:"page",//当前第几页

                                       total:"total",//总页数

                                       records:"records",//总记录数

//当它的值为false,则jqGrid在解析json时,会根据name(colmodel 指定的name)来搜索对应的数据元素(即可以json中//元素可以不按顺序)

                                       repeatitems:false,

                                       id:"0",

                              },

这样设置的话,json格式变成这样:

{
        "page": "1",
        "total": "13",
        "records": "13",
        "rows": [
            {
                "pageNumber": 0,
                "pageSize": 0,
                "remark": null,
                "projectName": "哈哈哈",
                "subSystem": "sub1",
                "module": null,
                "category": "number1"              
            },
            {
               "pageNumber": 0,
                "pageSize": 0,
                "remark": null,
                "projectName": "哈哈哈1",
                "subSystem": "sub2",
                "module": null,
                "category": "number2",              
            }
           ]
}

这里有个重要的参数repeatitems:false,当它的值为false,则jqGrid在解析json时,会根据name(colmodel 指定的name)来搜索对应的数据元素(即可以json中元素可以不按顺序)。

4、请求方式

 mtype: 一般是GET或者POST请求

这个地方我碰到一个问题(BadRequest),在下一篇会提到这个问题以及解决方式。

5、pager

显示分页导航条的信息,可进行分页的功能。


0 0
原创粉丝点击