1

ここで何かを確認したいだけです。jqGridのuserDataをjavascriptタイプで直接使用することは可能ですか(フィールドを持つオブジェクトを使用するのではなく)?

jqGridドキュメントの例を変更した場合、このjsonをjqGridに返します。

{ 
  total: "xxx", 
  page: "yyy", 
  records: "zzz", 
  userdata: 0, 
  rows : [ 
    {id:"1", cell:["cell11", "cell12", "cell13"]}, 
    {id:"2", cell:["cell21", "cell22", "cell23"]}, 
    ... 
  ] 
}

jQuery("grid_id").jqGrid('getGridParam', 'userData')リターンがあり0ます。

現在、{ }代わりに空のオブジェクトを返すようです。

jqGrid4.4.1を使用しています。

4

2 に答える 2

1

userdatajqGrid の JSON 入力の一部は object である必要があります。内部でスカラーを返す必要があるuserdata場合は、次のようなものを使用する必要があります

"userdata": { mycounter: 0 }

そして使用する

var userdata = $("#grid_id").jqGrid("getGridParam", "userData");
if (userdata) {
    alert(userdata.mycounter);
}
于 2013-01-31T11:42:37.803 に答える
0

わかりましたので、少し調べてみると、問題は値 0 にあるようです。他の値 (1 を試しました) は正常に戻りますが、0 の場合は {} が返されます。

また、フィールドの名前の代わりに関数を使用するようにリーダーを変更しようとしました。

jsonReader: {
  ...
  userdata: function(json) { return json.response.userdata; },
  ...
}

ただし、動作はまったく同じです。値が 0 の場合は {}、1 の場合は 1 です。

4.4.4 にも更新しましたが、変更されません。

これがバグなのか、文書化されていない制限なのかはわかりませんが、数値自体ではなく数値フィールドを持つオブジェクトを返すと、問題が解決します。

于 2013-01-31T11:43:20.027 に答える