私は ExtJS4 Ext.tree.Panel を使用しています。
ノードをツリー グリッドに追加する必要があるため、NodeInterface.appendChild() を使用しました。しかし、この方法は非常に遅く動作します。おそらく、私のツリー グリッドには多くの列とレンダラーがあるためです。
そのため、suppressevents オプションを使用しました。そして、この方法は迅速に機能します。しかし、私には別の問題があります。TreeStore.getNewRecords() は機能しません。TreeStore の Node に追加されたレコードが見つかりません。
1) [追加]ボタンのハンドラメソッドコード
var selectedNode = selectionModel.getLastSelected();
for (var i = 0 ; i < len ; i++) {
selectedNode.appendChild({
name: 'test name',
number: i,
leaf: true
}, true); // --> set suppressevents true
}
2) [保存]ボタンのハンドラメソッドコード
var treeStore = treeGrid.getStore();
var records = treeStore.getNewRecords(); // --> records.length == 0
ExtJS4 のツリー ノードに (suppressevents を使用して) 新しいレコードを追加するにはどうすればよいですか?