2011-10-20 31 views
5

Chciałbym utworzyć prosty interfejs do tworzenia zapytania SQL SELECT dla mniejszej liczby kolumn z bazy danych z wieloma kolumnami w Mathematica.
Mam moją listę nazw kolumn, na przykład:Manipuluj, pola wyboru z listy

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

Co chciałbym zrobić, to mieć pole wyboru dla każdego elementu tej listy o nazwie takie same jak elementy z listy, a gdy sprawdziłem, czy otrzymałem listę z zaznaczonymi nazwami kolumn.
Na przykład, klikam na „NAME1”, „name50”, „name74”, lista powinna wyglądać następująco:

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

Gdybym miał tę listę, to łatwo zrobić łańcuch zapytania SQL.

Odpowiedz

5

Sprawdź pomoc dla CheckboxBar i TogglerBar.

Oto przykład roboczych:

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

Mathematica graphics

Klikaj te, które chcesz wybrać, a następnie ocenić:

selected 

Aby wyświetlić aktualną wartość tego symbolu. Nazwa symbolu selected jest dowolna.


Jeśli masz długie nazwy, może wolisz:

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

Mathematica graphics

Jeśli masz dużo nazw kolumn, może wolisz:

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

Użyłem TextCell [CheckboxBar [Dynamic [selected], dbColumnNames], LineIndent -> 0], niezbyt ładna, ale spełnia swoją rolę. Dziękuję Panie Wizard. – enedene

+0

@enedene serdecznie zapraszamy. Dzięki za zaakceptowanie. Mówisz "niezbyt ładna" - czy odnosisz się do kodu, czy do wyjścia? Być może możemy to poprawić. –

+0

twój kod jest w porządku, wynik jest nieco uciążliwy, ponieważ mam 330 kolumn. Ale mam to, co chciałem, mogę dynamicznie i szybko zmieniać zapytania SQL. W celu ulepszenia estetyki będę musiał pogrupować te kolumny w pewien sposób, aby nie stracić funkcjonalności. To nie jest teraz priorytetem. – enedene