jquery下 动态显示jqGrid 以及jqGrid的属性设置容易出现的问题
时间:2010-10-22 来源:飒水飞月
$("#id").jqGrid({
url: "",
datatype: "local",
postData: { strJson: Data },
mtype: "post",
width: 450,
rowNum: rum, //每页的记录数
pgtext: "第{0}页 共{1}页",
pgbuttons: true,
auto rownumbers: false, // 是否显示行数
pgbuttons: true, // 分页按钮是否显示
pginput: true, // 是否允许输入分页页数
scrollrows: false, // 是否显示行滚动条
viewrecords: true, // 是否显示总记录数
multiselect: true, // 是否显示复选框
recordpos: "left", // 记录数显示位置
sortorder: "asc", //排序方式
pager: "#Pager"
)}
在初始化的时候,若不想执行表格的初始化方法,则需要设置url为空,datatype设置为"local",否则会有js错误,导致页面上的button按钮不起作用。
如果需要在开始时候执行表格的初始化,则需要设置url的值,在.net mvc架构下,即“/controller/action/”这样的格式,第一个"/"是必须的,否则不能进入后台的action中,最后一个“/”好像不是必需的,一般都加上。在设置了url后,还要注意的问题就是datatype要与postData的数据类型相匹配,否则会有错误。例如datatype:"json",那么postData需要传的是json对象。
如果想动态的执行表格的初始化,那么刚开始可以不用设置url值,datatype设置为"local"(否则报错)。然后动态的触发jqGrid的初始化action。
比如,在一张表中双击后后触发,代码如下:
//双击行事件
ondblClickRow: function () {
courseData = JSON.stringify({
stuNum: studentNum,
rowNum: rum,
page: 1
});
jQuery("#courseInfoGrid").jqGrid("setGridParam", {
url: "/PersonalArrearsSettlement/GetStudentCourseInfo", //设置表格的url
datatype: "json", //设置数据类型
postData: { strJson: courseData }
});
这样就可以动态的显示表格的数据了。