jquery下 动态显示jqGrid 以及jqGrid的属性设置容易出现的问题

一般的,一个jqGrid的基本属性有一下几个常用的。

$("#id").jqGrid({
    url: "",
    datatype: "local",
    postData: { strJson: Data },
    mtype: "post",
    height: 45,
    450,
    rowNum: rum, //每页的记录数
    pgtext: "第{0}页 共{1}页",
    pgbuttons: true,
    autoheight: true,
    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 }
            });

  这样就可以动态的显示表格的数据了。

原文地址:https://www.cnblogs.com/hutaoer/p/1858077.html