2011-10-20 14 views
5

से चेकबॉक्स, मैं गणित में बहुत से कॉलम वाले डेटाबेस से कॉलम की छोटी संख्या के लिए SQL SELECT क्वेरी बनाने के लिए एक सरल इंटरफ़ेस बनाना चाहता हूं।मैनिपुलेट, सूची

dbColumnNames={"name1","name2","name3",...."nameN"} 

मुझे क्या करना चाहते हैं सूची के तत्वों के रूप में ही नामित इस सूची के प्रत्येक तत्व के लिए एक चेकबॉक्स है करने के लिए है, और जब:
मैं उदाहरण के लिए स्तंभ नाम की मेरी सूची मिल गया है, जांच की है कि मुझे कॉलम नामों के साथ सूची मिलती है।
उदाहरण के लिए, मैं "NAME1", "name50", "name74" पर क्लिक करें, सूची दिखना चाहिए:

selectedNames={"name1","name50","name74"} 

अगर मैं उस सूची था, यह आसान एक SQL क्वेरी स्ट्रिंग बनाने के लिए है।

उत्तर

5

CheckboxBar और TogglerBar के लिए सहायता देखें।

dbColumnNames = {"name1", "name2", "name3", "name4", "name5", "nameN"}; 
TogglerBar[Dynamic[selected], dbColumnNames] 

Mathematica graphics

, जिन्हें आप चयन करना चाहते हैं तो क्लिक करें मूल्यांकन:

selected 

कि प्रतीक के वर्तमान मूल्य को देखने के लिए

यहाँ एक काम कर उदाहरण है। प्रतीक नाम selected मनमाने ढंग से है।


आप लंबे समय के नाम है, तो आप पसंद कर सकते हैं:

CheckboxBar[Dynamic[selected], dbColumnNames, Appearance -> "Vertical"] 

Mathematica graphics

आप एक बहुत स्तंभ नाम के है, तो आप पसंद कर सकते हैं:

TextCell[ 
TogglerBar[Dynamic[selected], dbColumnNames, Appearance -> "Row"], 
LineIndent -> 0 
] 
+0

मैंने टेक्स्टसेल का उपयोग किया [चेकबॉक्सबार [गतिशील [चयनित], डीबी कॉलमनाम], लाइन इंडेंट -> 0], बहुत सुंदर नहीं है लेकिन यह नौकरी करता है। धन्यवाद श्री विज़ार्ड। – enedene

+0

@enedene आपका स्वागत है। स्वीकार करने के लिए धन्यवाद। आप कहते हैं "बहुत सुंदर नहीं" - क्या आप कोड, या आउटपुट का जिक्र कर रहे हैं? शायद हम इसे सुधार सकते हैं। –

+0

आपका कोड ठीक है, आउटपुट थोड़ा बोझिल है क्योंकि मेरे पास 330 कॉलम हैं। लेकिन मुझे वह चाहिए जो मैं चाहता था, मैं गतिशील रूप से और तेजी से एसक्यूएल प्रश्नों को बदल सकता हूं। किसी भी सौंदर्यशास्त्र सुधार के लिए मुझे इन कॉलम को किसी भी तरह से समूहित करने की आवश्यकता होगी, इसलिए मैं कार्यक्षमता को ढीला नहीं करता हूं। यह अभी प्राथमिकता नहीं है। – enedene

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