jqGrid:函数$(“gridView”)。jqGrid(“getGridParam”和“data”返回空值?

jqGrid:函数$(“gridView”)。jqGrid(“getGridParam”和“data”返回空值?,jqgrid,Jqgrid,我对jqGrid有问题 当我使用: $("#gridView").jqGrid({ url:"grid.php", colModel:[ { name: 'id', index:'id'}, ], datatype: "json", mtype:"post", height:350, rownumbers:true, treeGrid: true, treeGridModel :

我对jqGrid有问题 当我使用:

$("#gridView").jqGrid({
    url:"grid.php",
    colModel:[
            { name: 'id', index:'id'},          
    ],
    datatype: "json",
    mtype:"post",

    height:350,
    rownumbers:true,
    treeGrid: true,
    treeGridModel : 'adjacency',
    ExpandColumn : 'id',
    ExpandColClick: true 
    ....

$("#gridView").jqGrid("getGridParam", "data") return array

我读过这篇文章


但是我无法设置loadonce:true,因为每次单击都有动态数据

如果是
treeGrid:true
,则不需要使用
loadonce:true
。jqGrid自动为treegrid填充内部参数
数据
\u索引
(请参阅代码的第页)


我假设您得到
null
作为
data
参数的值,因为您试图在从服务器加载数据之前访问
data
。尝试在
loadComplete
回调中使用
$(this).jqGrid(“getGridParam”,“data”)
。填充
数据后将调用回调函数

感谢Oleg,尝试在loadComplete回调函数中使用$(this).jqGrid(“getGridParam”,“data”),但我需要在另一个函数中使用getGridParam(例如:获取表单的数据)@LamLe:我的意思是,
null
作为
data
的值的一个可能原因是,您试图在从服务器填充数据之前获取
data
。您包含的代码看起来像是在
$(“#gridView”).jqGrid(“getGridParam”,“data”)
之后直接包含在
$(“#gridView”).jqGrid({…})。从
url:“grid.php”
填充网格是异步工作的。因此,只有在
数据
被填充后,您才能获得它。我建议您尝试将
$(this).jqGrid(“getGridParam”,“data”)
包含在
loadComplete
回调中,以验证
数据是否可以填充。很抱歉,我的帖子与我的真实代码不匹配。--加载完成后,我在每行上都做了一个“编辑(行id)”按钮。当我单击“编辑”按钮时,$(“#gridView”).get(“getGridParam”,“data”)返回我提到的[]。我很困惑,因为我的网格已经加载,它有数据要显示在屏幕上。@LamLe:
$(“#gridView”).get(…)
是错误的。应该使用
$(“#gridView”).jqGrid(…)
。如果我理解正确,您已经发现了问题并修复了代码。
$("#gridView").jqGrid({
    url:"grid.php",
    colModel:[
            { name: 'id', index:'id'},          
    ],
    datatype: "json",
    mtype:"post",
    pager:"#pager",
    rowNum:50,
    rowList:[10,50,100,500,1000],
    viewrecords:true,

    height:350,
    rownumbers:true,
    ....

$("#gridView").jqGrid("getGridParam", "data") return null ??