2011-05-24 17 views
5

TreeStore & TreePanel kullanıyorum. Ağacıma yeni düğüm eklemem gerekiyor, buna nasıl?TreePanel'de yeni kayıt (model) nasıl eklenir?

zaman config aşağıdaki TreeStore bileşeni vardır: Ben yeni bir kayıt eklemek istediğiniz

Ext.define('Task', { 
    extend : 'Ext.data.Model', 
    fields : [ 
     { 
      name : 'task', 
      type: 'string' 
     }, 
     { 
      name : 'material', 
      type: 'string' 
     }, 
     { 
      name : 'cc', 
      type: 'string' 
     }, 
     { 
      name : 'start_date', 
      type: 'string' 
     }, 
     { 
      name : 'short_desc', 
      type: 'string' 
     }, 
     { 
      name : 'id', 
      type: 'string' 
     } 
    ] 
}); 

:

var monPrestore = Ext.create('Ext.data.TreeStore', { 
    folderSort : true, 
    model : 'Task', 
    proxy : { 
     model : 'Task', 
     appendId: true, 
     type : 'ajax', 
     url : '/intranet-timesheet2-tasks-extjs/getJSON.tcl', 
     reader : { 
      type : 'json' 
     }, 
     writer : { 
      type : 'json' 
     }, 
    } 

Ben Görev Modeli tanımladığınız boş değerle (ben eklemek istediğiniz şeydir) Olay itemdlclick tetiklendiğinde:

Bunu test ettim ama çalışmaz:

itemdblclick: function(view, model, htmlitem, index, e) { 
    var task = { 
     task: 't0', 
     material: 'm0', 
     cc: 'c0', 
     start_date: '12', 
     short_desc: 'sht', 
     id: '120', 
     leaf: true 
    }; 

    monPretree.insert(4,task);   
} 

Çok teşekkürler :)!

cevap

9

Benzer soru here'u sorduğunuzu düşünüyorum!

Ağaç paneli için ekleme yöntemi yoktur. Ağacı değiştirmek için ağacın kök düğümünü tutmalısın. Öte ağaç manipülasyon yöntemleri için

var rootNode = monPretree.getRootNode(); 
rootNode.insertChild(4,task); 

NodeInterface API belgelerine bakın: Senin durumunda, aşağıdakileri yapmanız gerekebilir.

+0

Oh evet, konuyu göremiyorum! Anladım, gösterinin. ama yeni bir sorunum var mı? Mümkün mü? Yaprak üzerine çift tıkladığımda eklemem gerekiyor. dblclick olayı 'index' parametresine sahip, index + 1 – Mepps

+0

adresinde eklemek istiyorum, benimle dalga geçiyor olmalısınız !! Bir çocuk düğümü ekleyebiliyorsanız neden düğüm yaprağı oluşturuyorsunuz? Tamam, şimdi bu şekilde ihtiyacınız varsa ısrar ederseniz, mevcut düğümü kaldırmanız, yeni bir ebeveyn oluşturmanız ve çocuğunuzu ona eklemeniz gerekir. –

+0

Hayır, sana dalga geçmiyorum ...! Çok üzgünüm Benim durumumda, projeyi (yapraksız) dlbclick yaparken yaprak eklemeyi başarıyorum ama şimdi aynı seviyede bir yaprağı tıklattığımda eklemem gerekiyor. Yaprak yaprak değil yaprak olduğunda aynı şey aynı değil mi? Ben doktora bakın, yapraklar yerine yöntemleri vardır! Eğer seni anlamadığım için üzgünüm ... – Mepps

İlgili konular