でチェックされているすべてのノードのチェックを解除する「リセット」メソッドが必要Ext.tree.TreePanel
です。
13468 次
4 に答える
7
tree.getRootNode().cascade(function(n) {
var ui = n.getUI();
ui.toggleCheck(false);
});
于 2011-01-28T21:10:39.243 に答える
2
Extjs4.0.7で動作する他の回答のいずれかを取得できませんでした。また、「カスケード」メソッドの使用は、非推奨であるという警告を発行しました。代わりに「cascadeBy」を使用することをお勧めします。メソッド名以外に、メソッドシグネチャの違いを見つけることができませんでした(同じ引数、これ、動作)。
しかし、私はうまくいったこのコードを見つけることができました:
{
xtype: 'button',
text: 'Deselect All',
listeners:{
click: function(){
var tree = Ext.ComponentQuery.query( 'treepanel[itemId=user_flags_tree]')[0];
tree.getRootNode().cascadeBy(function(){
this.set( 'checked', false );
});
}
}
}
于 2012-04-18T17:59:26.910 に答える
2
以下のようなメソッドを見つけましたが、「ケースケード」メソッドがうまく機能していないようです。チェックされているすべての子のチェックを解除するには、「リセット」を数回呼び出す必要があります。
reset: function (){
startNode = this.root;
var f = function () {
if (this.attributes.checked) {
this.attributes.checked = false;
this.getUI().toggleCheck(false);
}
};
startNode.cascade(f);
}
于 2010-12-16T02:27:04.990 に答える