2011-08-22 32 views
5

मैं इसमें 2 विभाजक के साथ वाडिन ड्रॉप डाउन बनाना चाहता हूं। मुझे इसे लागू करने का कोई तरीका नहीं मिला, क्या कोई मुझे इस मुद्दे को हल करने में मदद कर सकता है?वाडिन कम्बोबॉक्स

इस तरह मैं अपने ड्रॉप प्रदर्शित करना चाहते हैं नीचे:

  • विकल्प 1
  • विकल्प 2
  • ------------;
  • चयन 2
  • चयन -----------;
  • समूह 1

मैं ऐसा कैसे कर सकते हैं?

+0

वाडिन के कॉम्बो बॉक्स कोड का उपयोग करके एक वैडिन विजेट बनाएं। आप उस स्थान को ओवरराइड कर सकते हैं जहां क्लाइंट साइड पर HTML सामग्री फ़िल्टर की जाती है और लाइन जोड़ने के लिए ब्र टैग का उपयोग किया जाता है। – MarterJay

उत्तर

0

मैंने इसे स्वयं नहीं किया है, लेकिन NativeSelection ड्रॉपडाउन पर जाएं।

4

विभाजक को चुनने के लिए कोई अंतर्निहित तरीका नहीं है। एकमात्र तरीका मैं सोच सकता हूं कि वांछित विभाजक के साथ एक आइटम को अपने कैप्शन के रूप में जोड़ना है। उदाहरण के लिए यदि आप डिफ़ॉल्ट कैप्शन (आइटम आईडी) select.addItem("-----"); का उपयोग पर्याप्त होना चाहिए। यह कॉम्बोबॉक्स और मूल चयन दोनों के लिए काम करना चाहिए।

3

आप क्लाइंट व्यवहार सहित एक नया वाडिन घटक लागू कर सकते हैं, लेकिन यह एक आसान समाधान नहीं है। यह पृष्ठ https://vaadin.com/book/-/page/gwt.html "वाडिन की पुस्तक" और वाडिन फोरम की मदद कर सकता है।

इसके अलावा, मौजूदा घटकों का उपयोग करके अपना स्वयं का घटक बनाना एक और समाधान है। आप एक विशेष combobox लागू कर सकते हैं जो स्ट्रिंग या घटक arrays के मूल्य लेता है। ऐसा करने का तरीका वैडिन पैनल, लेआउट और विंडोज़ आकार और स्थानों के साथ उपयोग कर रहा है और श्रोताओं पर क्लिक करें।

0

तुम हमेशा

{select.addItem ("-----");} कर सकते हैं

एक बार मैं भी ऐसे ही एक कुछ करना चाहता था, लेकिन साथ ऐसा करने के लिए कोई उचित तरीका नहीं था Vaadin। मैंने वास्तव में कॉम्बो बॉक्स को विस्तारित एक वैडिन विजेट बनाया। वैडिन के क्लाइंट साइड विजेट में वे सूची में आइटम जोड़ने से पहले HTML सामग्री को फ़िल्टर करते हैं। तो क्लाइंट साइड कोड का उपयोग करके मैं उस कार्यक्षमता को ओवरराइड करता हूं और लाइन जोड़ने के लिए HTML टैग "
" का उपयोग करता हूं।

0
select.addItem("-----"); 

सबसे अच्छा तरीका है की तरह लग रहा है, मैं कुछ अन्य

के बारे में पता Btw अगर आप कुछ सूची से आइटम पढ़ रहे हैं आप कुछ आइटम काउंटर और (itemsCount%n)==0 ऑपरेटर के बाद 'एन' विभाजक स्थापित करने के लिए के साथ गठजोड़ कर सकते हैं कि न आइटम नहीं डाला :)

0

आपके पास चयनित आइटम के लिए (जैसा कि पहले उल्लेख) कुछ जावास्क्रिप्ट के साथ जोड़ने और फिर निष्क्रिय कर सकते हैं विभाजक:

  1. आइटम को चुनिंदा में जोड़ें। cb.addItem ("विभाजक"); सीबी।setItemCaption ("विभाजक", "-------------");

  2. जावास्क्रिप्ट

    अंतिम स्ट्रिंग जावास्क्रिप्ट = ""

    • "var का चयन करता है = document.getElementsByTagName ('चुनें') पर अमल,"
    • "के लिए (वर j = 0; j < selects.length; J ++) {"
    • "var सेशन = चयन [जे] .getElementsByTagName ('विकल्प');"
    • "के लिए (वर मैं = 0; मैं < op.length; i ++) {"
    • "अगर (सेशन [i] .text == '' + separatorText + '') सेशन [i] .disabled = सच;"
    • "}}"; पेज.getCurrent()। GetJavaScript() निष्पादित करें (जावास्क्रिप्ट);
संबंधित मुद्दे