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の要素のみが表示され、残りは未定義として表示されます。

plzhelp .. !!

4

1 に答える 1

1

あなたの問題はへの呼び出しにありますaddRowData

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

の行IDを指定している1ため、各行は同じIDになります。したがって、他のすべての行1は未定義です。

のドキュメントにaddRowDataよると:

パラメーター

rowid、data、position、srcrowid

説明

指定された位置(テーブルの最初、テーブルの最後、またはsrcrowidで指定された行の前後)に、データ(オブジェクト)のデータを含むid=rowidの新しい行を挿入します。データオブジェクトの構文は次のとおりです。{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 に答える