2011-05-30 10 views
19

क्या कोई इनपुट एक्स्टजेस (संस्करण 4) की चौड़ाई सेट करने का कोई तरीका है कॉम्बोबॉक्स के ड्रॉपडाउन मेनू को वास्तविक इनपुट बॉक्स की तुलना में व्यापक होना चाहिए?ExtJS कॉम्बोबॉक्स ड्रॉपडाउन चौड़ाई व्यापक?

मेरे पास एक comboxbox है जो मैं लगभग 200px होना चाहता हूं लेकिन मेरे पास परिणाम ड्रॉपडाउन पर पेजिंग है और यह चौड़ाई सभी पेजिंग बार के नियंत्रण दिखाने के लिए पर्याप्त नहीं है।

var add_combo = Ext.create('Ext.form.field.ComboBox', 
    { 
     id    : 'gbl_add_combo', 
     store   : Ext.create('Ext.data.Store', 
     { 
      remoteFilter : true, 
      fields : ['gb_id', 'title'], 
      proxy : 
      { 
       type  : 'ajax', 
       url   : 'index.php/store/get_items', 
       reader  : 
       { 
        type   : 'json', 
        root   : 'records', 
        totalProperty : 'total', 
        successProperty : 'success' 
       }, 
       actionMethods : 
       { 
        read : 'POST', 
        create : 'POST', 
        update : 'POST', 
        destroy : 'POST' 
       } 
      } 
     }), 
     listConfig: 
     { 
      loadingText: 'Searching...', 
      emptyText: 'No results found' 
     }, 
     queryMode  : 'remote', 
     hideLabel  : true, 
     displayField : 'title', 
     valueField  : 'gb_id', 
     typeAhead  : true, 
     hideTrigger  : true, 
     emptyText  : 'Start typing...', 
     selectOnFocus : true, 
     width   : 225, 
     minChars  : 3, 
     cls    : 'header_combo', 
     pageSize  : 15 
    }); 
+0

दिखाने के अपने कोड स्निपेट – Ibu

+0

सवाल –

उत्तर

35

इस के दो हिस्से होते हैं:

यहाँ कॉम्बो बनाने के लिए मेरी कोड है। सबसे पहले, आपको matchFieldWidth सेट करने की आवश्यकता है: आपके combobox कॉन्फ़िगरेशन में गलत। इसके बाद आप मुख्य कॉन्फ़िगरेशन में combobox की चौड़ाई निर्दिष्ट करते समय listConfig अनुभाग में केवल ड्रॉपडाउन शैली के लिए चौड़ाई विशेषताओं को निर्दिष्ट कर सकते हैं।

यह व्यापक संस्करण से भिन्न होता है, जो आपको सूची सूची संपत्ति निर्दिष्ट करने देता है।

+0

सही, धन्यवाद करने के लिए अपने कोड जोड़ दिया गया! –

+0

जानकारी साइमन साझा करने के लिए धन्यवाद। – netemp

+0

हाय साइमन, मैंने इस समाधान को लागू किया, और हालांकि यह टेम्पलेट के लिए अधिक चौड़ाई की अनुमति देता है लेकिन फिर मूल्यों की सूची अब प्रदर्शित नहीं हो रही है। मैंने यहां प्रश्न पोस्ट किया है - http://stackoverflow.com/questions/7526232/extjs-4-how-to-display-template-having-width-greater-than-the-width-of-combo-bo - सकता है यदि आप किसी भी विचार पर इस पर मार्गदर्शन करते हैं। अग्रिम में धन्यवाद। – netemp

3

मुझे गतिशील रूप से 'matchFieldWidth' संपत्ति को बदलने का तरीका नहीं मिला। तो मैं एक और समाधान मिला:

{ 
    xtype: 'combobox', 
    fieldLabel: 'Short Options', 
    queryMode: 'local', 
    store: ['Yes', 'No', 'Maybe'], 
    matchFieldWidth: false, 
    listConfig: { 
    listeners: { 
     beforeshow: function(picker) { 
     picker.minWidth = picker.up('combobox').getSize().width; 
     } 
    } 
    } 
} 

स्रोत: http://www.sencha.com/forum/showthread.php?293120-Setting-BoundList-minWidth-to-the-width-of-a-parent-ComboBox-without-matchFieldWidth

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