1

我有 jqGrid 如下..

$('#addPGrid').button();
    jQuery("#pGrid").jqGrid({ 
    datatype: "local", 
    height: 400, 
    width:500,
    ondblClickRow:dblClck,
    colNames:['PName','PValue',"pid","pValue"], 
    colModel:[ {name:'pName',index:'pName', width:140}, {name:'pValue',index:'pValue', width:100}, {name:'pId',index:'pId', width:1, hidden:true}, {name:'pValue',index:'pValue', width:1, hidden:true}],
    caption: "FP" });

每次要输入数据时,我都会创建一个 jsonObject,并将其添加到 JqGrid 中,如下所示,

var jsonObj = [];
jsonObj.push({pName: pNameP, pValue:pValuePlForGrid , pId:pId, dValue:dValueName});
jQuery("#pGrid").jqGrid('addRowData',1,jsonObj[0]);

我正在尝试以这种方式从网格中获取数据,

 for(var u=1;u<=jQuery('#pGrid').jqGrid('getGridParam','records');u++)
          {
          alert(u);
           var fg = jQuery("#pGrid").jqGrid('getRowData',u);
           alert(fg.pName+"   "+fg.pValue+"   "+fg.pId+"   "+fg.dValue);
           }

仅显示 rowId 1 的元素,其余显示为未定义..

请帮助..!!

4

1 回答 1

1

您的问题在于调用addRowData

.jqGrid('addRowData',1,jsonObj[0]);

您正在指定行 ID,1因此每行都具有相同的 ID - 因此除1未定义之外的所有其他行。

根据以下文档addRowData

参数

rowid, 数据, 位置, srcrowid

描述

在指定位置(表中的第一个、表中的最后一个或在 srcrowid 中指定的行之前或之后)插入一个 id = rowid 的新行,该行包含 data(对象)中的数据。数据对象的语法是:{name1:value1,name2: value2…}其中 name 是 colModel 中描述的列的名称, value 是值。此方法可以一次插入多行。在这种情况下,数据参数应该是定义为的数组 [{name1:value1,name2: value2…}, {name1:value1,name2: value2…} ],第一个选项 rowid 应该包含来自数据对象的名称,该名称应该作为行的 id。在这种情况下,rowid 的名称不必是 colModel 的一部分。

因此,为了解决您的问题,当您调用时,addRowData您可以使用每次递增的变量,也可以设置rowid为应用作行 ID 的数据对象的名称。

这有帮助吗?

于 2012-06-20T15:37:50.887 回答