ここで尋ねられたローカル js var の質問から下線データが更新された後にツールバー フィルターを再適用する方法についての私の質問の間に、Oleg は私に解決策を提供しました: 1 datatype:"local" と data:localvar の組み合わせを使用します。
今、私は1週間後に解決できなかった別の問題に直面しています。
ローカル データソースを使用する場合の Jqgrid wiki によると、デフォルトの localreader は次のようになります。
The initial configuration of the localReader is the same as those from jsonReader
localReader = {
root: "rows",
page: "page",
total: "total",
records: "records",
repeatitems: false,
cell: "cell",
id: "id",
userdata: "userdata",
subgrid: {root:"rows", repeatitems: true, cell:"cell"}
}
そうではないことがわかりました。dataype:"local" を使用して見つけることができるすべての例では、次のように、js オブジェクトの代わりに常にストレート js 配列を使用するためです。
var mydata = [
{id:"1",invdate:"2007-10-01",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"},
{id:"2",invdate:"2007-10-02",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"},
{id:"3",invdate:"2007-09-01",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"}];
デフォルトのlocalReader(repeatitemsをtrueに設定)を使用して処理しようとしました
var locObj = {"rows":[
{"id":0,"cell":["val1","val2","val3"]},
{"id":1,"cell":["val1","val2","val3"]}
],
"page":"1",
"total":"1",
"records":"2"
}
datatype:"local"、data:locObj を使用
addlocaldata 関数の配列チェックに合格しないため、これは機能しません。オプションを datatype:"local", data:locObj.rows に変更すると
正しい行数のグリッドを取得しましたが、各セルには空の値があります。これは、addlocaldata 関数が locObj.rows のような形式の配列を処理できないためだと思います。
カスタマイズされた localreader を使用して (クライアント側で配列を再作成する代わりに) datatype:"local" を持つ json オブジェクト (または文字列) を実際に処理する方法はありますか?
どんな助けでも大歓迎です。
キャスビー