ストアの AjaxProxy が JsonWriter を使用して更新をサーバーに書き戻す RowEditing プラグインを含むグリッドがあります。
更新が発生すると、別のコンポーネントを更新するために何らかのコードを起動する必要があります。これには、サーバーへの別のトリップが必要です。
これは、サーバー上で更新されるデータに依存するため、JsonWriter が戻った後に起動する必要があります。そのため、ストアの「更新」イベントをリッスンできません。これは、Ajax 呼び出しが行われる前に発生するためです (バッチ処理が無効になっている場合でも)。
次のように「endupdate」のリスナーを配置しようとしましたが、AJAX 要求が行われる前に再び起動します。
var ds = new Ext.data.Store({
model: modelname,
autoSync: true,
proxy: {
type: "ajax",
api: {
create: "ajax.aspx?xaction=create",
read: "ajax.aspx?xaction=read",
update: "ajax.aspx?xaction=update",
destroy: "ajax.aspx?xaction=destroy"
},
batchActions: false,
reader: { type: "json", rootProperty: "rows", totalProperty: "results" },
writer: { type: "json", encode: true, writeAllFields: true, rootProperty: "rows" }
},
listeners: {
load: { fn: reloadPreview },
endupdate: { fn: reloadPreview }
}
});
ライターの「更新」呼び出しに対してサーバーから応答を返しません... AjaxProxyまたはJsonWriterが期待しているものに関するドキュメントが見つからないようで、空の応答を送信してもうまくいくようです。