2011-05-23 13 views
7

Ağaç Panelimde bir düğüme tıklandığında Blanks 'un yapılandırmasına izin vermek istiyorum! Düğüm bir yapraksa, ad alanının yapılandırmasını koymak istiyorum: allowBlank: false ve bir yaprak değilse, allowBlank: true. Bunu yapmak için yöntem bulamıyorum?Alanın yapılandırması anında nasıl eklenir?

Çok teşekkürler :) cevabınıza


Teşekkür ama benim combobox global değişken değildir:

var monPrepanel = Ext.create('Ext.form.Panel',{ 

     frame : true, 
     title : 'Editing Zone', 
     //renderTo : 'mesfields', 
     //width : 750, 
     forceFit : true, 

     items: [{ 

       xtype:'fieldset', 
       title: 'Add Task : ', 
       margin : '20 20 20 20', 

       collapsible: true, 
       defaultType: 'textfield', 
       defaults: {anchor: '100%'}, 
       layout: 'anchor', 
       items: [ { 

       itemId : 'p0', 
       allowBlank : false, 


     xtype : 'textfield', 
    anchor : '60%', 

     padding : '0 30 0 30', 
      fieldLabel : 'Task', 

      name : 'task' 
     } , { 

       itemId : 'p1', 
       allowBlank : false, 


     xtype : 'combobox', 
      anchor : '40%', 
      store : materialstore, 
      queryMode: 'local', 
      displayField: 'data', 
      width : 50, 
      valueField: 'data', 
      editable : false, 

     padding : '0 30 0 30', 
      fieldLabel : 'Material', 

      name : 'material' 
     } , { 

       allowBlank : true, 

     xtype : 'combobox', 
      anchor : '40%', 
      store : ccstore, 
      queryMode: 'local', 
      displayField: 'data', 
      width : 50, 
      valueField: 'data', 
      editable : false, 

     padding : '0 30 0 30', 
      fieldLabel : 'CC', 

      name : 'cc' 
     } 

belki id tarafından combobox bileşenine erişmesi gereken? Bu bileşene öğelere öğeler arasında erişilebilecek çözümler var mı?

cevap

15

istenen açılan kutunun (id: 'anyId') için bir id özelliğini ayarlayın ve cevabınıza Ext.apply(Ext.getCmp('anyId'), {your config object});

+0

Mevcut yapılandırmaya nasıl erişilir, lütfen mevcut yapılandırma ile '{config nesnesi}' değiştirebilir misiniz? –

5

Genel olarak, önceden oluşturduğunuz bir Ext bileşenine yapılan değişiklikleri "uygularsınız".

var combo = new Ext.form.ComboBox({some initial config}); 

Ext.apply(combo, {your config object}); 

Treenod'larınızı nasıl yüklüyorsunuz? Muhtemelen, bu özelliklerin nereden geldiyse arka uçtan ekleyerek daha iyi yapabilirsiniz.

+0

Tanklarının kullanmak ama benim combobox Öyle olmak zorunda değildir global değişken – Mepps

+2

değildir. DOM kimliğinizin ne olduğunu biliyorsanız, Ext.getCmp ('myDomID') kullanarak bir başvuru alabilirsiniz; –

+0

Bu "uygulama" tekniği, bileşenin düzenini değiştiren bu yapılandırmalar için de çalışır. Örneğin, bir Ext.form.FieldSet daraltılabilen özellik, oluşturulduktan sonra true değerine ayarlanır. Benim durumumda düzen güncellenmiyor: Ext.apply (fieldset, {katlanabilir: true, stil: "background: red"}); –