2010-12-20 15 views
2

ユーザがツリーノード(フォルダ)を編集できるようにすることはできますか? TreeNodeクラスにeditableというオプションがあることがわかりましたが、それを動作させたり、その使用法の例を見つけることができませんでした。Ext.js編集可能なツリーノード

他のクエストは、入力ボックスをノードに配置することです。そのため、ユーザーは各アイテムの番号を入力できます。どうしたらいいですか?

答えて

4

new Ext.tree.TreeEditor(yourTree);を追加すると、編集可能なツリーになります。

しかし、あなたは他の2 contructorsパラメータを使用して多くを定義することができます:あなたがそこに数字のみを入力することができるように

あり
var te = new Ext.tree.TreeEditor(tree, new Ext.form.NumberField({ 
    allowBlank: false, 
    blankText: 'A number is required' 
}), { 
    editDelay: 100, 
    revertInvalid: false 
}); 

te.on("complete", function(node) { 
    alert(node.startValue + ' -> ' + node.editNode.text); 
}); 

は私がNumberFieldを使用しました。

そして、あなたは、すべてのTreeNode(はい、あなたが言及したもの)のeditableプロパティを使用することによって、またはTreeEditorのbeforestarteditイベント使用して編集を制限することができます。jsbin.com/ExtJS-TreeEditor/2

te.on('beforestartedit', function(ed, boundEl, value) { 
    if (ed.editNode.leaf) 
     return false; 
}); 

Sencha's Checkbox TreePanel exampleに基づいて作成したライブの例がありますが、私の例ではフォルダノードを編集することができます。

フォルダを選択してもう一度クリックすると、フォルダ名の上にエディタ(NumberField)が表示されます。

関連する問題