2011-05-24 10 views
5

मैं TreeStore & TreePanel का उपयोग करें। मुझे अपने पेड़ में नया नोड डालने की ज़रूरत है, यह कैसे करें?TreePanel में नया रिकॉर्ड (मॉडल) कैसे सम्मिलित करें?

मैं TreeStore घटक config निम्नलिखित जो है:

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' 
     }, 
    } 

मैं टास्क मॉडल को परिभाषित किया है (यह है कि मैं क्या सम्मिलित करना चाहते हैं) खाली मूल्य के साथ:

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' 
     } 
    ] 
}); 

मैं नया रिकार्ड सम्मिलित करना चाहते हैं जब घटना itemdlclick निकाल दिया जाता है:

मुझे लगता है कि परीक्षण किया है, लेकिन यह काम नहीं करता है:

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);   
} 

धन्यवाद एक बहुत :)!

उत्तर

9

मुझे लगता है कि आप इसी तरह के सवाल here पूछा!

पेड़ पैनल के लिए कोई डालने विधि नहीं है। पेड़ को संशोधित करने के लिए आपको पेड़ के रूट नोड को पकड़ना होगा। ,

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

अन्य पेड़ हेरफेर विधियों के लिए NodeInterface की API दस्तावेज़ देखें: आपके मामले में, आप निम्न कार्य करना पड़ सकता है।

+0

ओह हाँ, मुझे मेरा विषय नहीं दिख रहा है! मैं समझ गया हूं, आपका प्रदर्शन। लेकिन जब मैं एक पत्ता के बाद बस डालना चाहता हूं तो मेरी नई समस्याग्रस्त है? मुझे नहीं पता कि क्या संभव है? जब मैं पत्ती पर डबल क्लिक करता हूं तो मुझे जोड़ने की आवश्यकता होती है। dblclick घटना के साथ मैं पैरामीटर 'सूचकांक' है, मैं सूचकांक + 1 – Mepps

+0

तुम मुझे मजाक कर रहे हैं पर जोड़ना चाहते हैं !! यदि आप एक बच्चे नोड जोड़ सकते हैं तो आप नोड पत्ता क्यों बनाते हैं? ठीक है, अब अगर आप जोर देते हैं कि आपको इस तरह की ज़रूरत है, तो आपको मौजूदा नोड को हटाना होगा, एक नया माता-पिता बनाना होगा और अपने बच्चे को इसमें डालना होगा। –

+0

नहीं, मैं आपको मजाक नहीं कर रहा हूं ...! तो खेद है मेरा मामला, जब मैं प्रोजेक्ट (कोई पत्ता नहीं) पर dlbclick जब पत्ती जोड़ने की सफलता, लेकिन अब मैं एक ही स्तर में एक पत्ते पर क्लिक करते समय जोड़ने की जरूरत है। व्यवहार तब होता है जब यह पत्ता होता है और पत्ता नहीं होता है? मैं डॉक्टर में देखता हूं, पत्तियों को बदलने के तरीके हैं! तो क्षमा करें अगर मैं आपको समझ नहीं पा रहा हूं ... – Mepps

संबंधित मुद्दे