ツリーグリッドがあり、1 つのノードだけをその子ノードで更新したいと考えています。だから私はこのように試しました:
store.load({
node: store.getNodeById(1)
});
それは子を更新しますが、ノード自体は更新しません。では、どのようにノードと子を更新できますか? データベースへのリクエストが 1 つだけ必要な場合に最適です。
ツリーグリッドがあり、1 つのノードだけをその子ノードで更新したいと考えています。だから私はこのように試しました:
store.load({
node: store.getNodeById(1)
});
それは子を更新しますが、ノード自体は更新しません。では、どのようにノードと子を更新できますか? データベースへのリクエストが 1 つだけ必要な場合に最適です。
構成によってそれを行う方法はありません。設計どおりに機能するだけです。できることは、ツリー ノードを操作してノード自体を手動で更新するために、ノードの子をロードした後にちょっとしたトリックです。
画像を参照してください。期待どおりの動作を示します。
これは jsfiddle で問題なく動作しています: http://jsfiddle.net/lontivero/jBTWn/3/
基本的には、今言ったように、子をロードした後にツリーを操作するという考え方です。私の例では、これは次のように行われます。
var node = store.getNodeById(1);
store.load({
node: node,
callback: function(newRecord) {
var parent = node.parentNode;
parent.insertBefore(newRecord[0], node);
parent.removeChild(node);
},
params: {
json: Ext.JSON.encode(updated_data)
}
});
幸運を!