[jak] aktualizacja elementów Combo Box'ów?
- ky3orr
- Posty: 149
- Rejestracja: 10 gru 2006 00:00
- Wersja środowiska: LabVIEW 8.6
- Lokalizacja: Siechnice
- Kontakt:
[jak] aktualizacja elementów Combo Box'ów?
Witam!
pisząc program pomiarowy doszedłem do momentu, w którym muszę wymyślec jak poradzic sobie z combo boxami.
Mianowicie mam tor pomiarowy, w którym elementy łączone są za pomocą kabli transmisyjnych. Jest ich sporo i dla tego mają swoje nazwy, określoną długośc i zmierzone opóźnienie dla transmitowanych sygnałów.
Chcę te dane wrzucic w bazę, a w programie umozliwic wybieranie kabli przy pomocy combo boxów.
Problem pojawia się gdy chcę, aby aplikacja zachowywała się tak by wybranie kabla w jednym z combosów powodowało jego usuinięcie z wariantów wyboru w innych combosach, aby nie wybra dwa i więcej razy tego samego kabla.
Nie mam pojęcia jak się zabrac za temat - mam przeczucie, że należy robi aktualizację wariantów combosów korzystając z eventów i value changed.
Dodatkowo, gdy wybiorę specjalny kabel o nazwie "niepodłaczony" to kabel który dotąd był zajęty staje się wszędzie indziej dostępny.
przy okazji mam pytanie dodatkowe: czy combosy mogą zwraca więcej danych niż indeks wybranego wariantu? chciałbym mie możliwośc uzyskania np. ID kabla, wyciągniętego z bazy, adekwatne do dokonanego wyboru. Próbowałem czegoś podobnego zapisując do combo Strings and Values gdzie w Strings były nazwy, a w Values ID. niestety wystąpił jakiś problem z sortowaniem elementów na liście.
jeśli macie jakieś pomysłuy na przytoczony problem z satysfakcją przeczytam o tym.
pozdrawiam
pisząc program pomiarowy doszedłem do momentu, w którym muszę wymyślec jak poradzic sobie z combo boxami.
Mianowicie mam tor pomiarowy, w którym elementy łączone są za pomocą kabli transmisyjnych. Jest ich sporo i dla tego mają swoje nazwy, określoną długośc i zmierzone opóźnienie dla transmitowanych sygnałów.
Chcę te dane wrzucic w bazę, a w programie umozliwic wybieranie kabli przy pomocy combo boxów.
Problem pojawia się gdy chcę, aby aplikacja zachowywała się tak by wybranie kabla w jednym z combosów powodowało jego usuinięcie z wariantów wyboru w innych combosach, aby nie wybra dwa i więcej razy tego samego kabla.
Nie mam pojęcia jak się zabrac za temat - mam przeczucie, że należy robi aktualizację wariantów combosów korzystając z eventów i value changed.
Dodatkowo, gdy wybiorę specjalny kabel o nazwie "niepodłaczony" to kabel który dotąd był zajęty staje się wszędzie indziej dostępny.
przy okazji mam pytanie dodatkowe: czy combosy mogą zwraca więcej danych niż indeks wybranego wariantu? chciałbym mie możliwośc uzyskania np. ID kabla, wyciągniętego z bazy, adekwatne do dokonanego wyboru. Próbowałem czegoś podobnego zapisując do combo Strings and Values gdzie w Strings były nazwy, a w Values ID. niestety wystąpił jakiś problem z sortowaniem elementów na liście.
jeśli macie jakieś pomysłuy na przytoczony problem z satysfakcją przeczytam o tym.
pozdrawiam
Ostatnio zmieniony 14 lip 2008 19:04 przez ky3orr, łącznie zmieniany 1 raz.
- bartus
- Posty: 141
- Rejestracja: 07 maja 2007 00:00
- Wersja środowiska: LabVIEW 2009
- Lokalizacja: Wrocław/Żory
[jak] aktualizacja elementów Combo Box'ów?
probowales wybrany element dodawac jako disabled items ? property node -> disabled items moze to zahula?
Jest pare rzeczy dla których warto zyc - TO,UE i nie zmienia sie nic
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: [jak] aktualizacja elementów Combo Box'ów?
Nie zahula z prostego powodu w Combo Boksie nie ma możliwości dezaktywowania elementów.property node -> disabled items moze to zahula?
Używasz kontrolki Combo Box czy Ring? To jest różnica.czy combosy mogą zwraca więcej danych niż indeks wybranego wariantu?
Dobre przeczucie.mam przeczucie, że należy robi aktualizację wariantów combosów korzystając z eventów i value changed
Wewnątrz eventu sprawdzasz czy wybrano "niepodłączony" (1) czy inny (2). Teraz w pętli przelatujesz przez tablicę referencji wszystkich Combo Boxów i dla każdej kontrolki poza tą, która odpaliła event: (1) dodajesz do listy zwolniony element (OldVal) (2) modyfikujesz listę elementów (usuwając, dezaktywując wybrany element)
Jeśli taki opis jest za mało jasny, to pisz.
Niestety trochę za mało treściwy opis błędu.niestety wystąpił jakiś problem z sortowaniem elementów na liście
- ky3orr
- Posty: 149
- Rejestracja: 10 gru 2006 00:00
- Wersja środowiska: LabVIEW 8.6
- Lokalizacja: Siechnice
- Kontakt:
Re: [jak] aktualizacja elementów Combo Box'ów?
Witam wszystkich!
Po ostatnim poscie jogurta_owocowego wzialem do siebie uwagi Kolegi i po ciezkich probach trwajacych 3 dni udalo mi sie w 100% wykonac postawione na poczatku watku zadanie.
Bloczek dziala na dowolnej liczbie comboboxow, ktorych tabele referencji podaje jako jedna z danych wejsciowych. Obsluga combosow odbywa sie w petli event gdzie wykrywane jest zdarzenie value changed kazdego z combosow w ramach jednego eventa. Do bloczka podawane sa dodatkowo wartosci OldVal i NewVal, oraz referencja comboboxa wywolujacego zdarzenie.
Nastepnie iteracyjnie (poza combosem, ktory wywolal zdarzenie) modyfikowana jest tablica Strings and Values i na koncu calosc jest sortowana zeby lista jakos schludnie wygladala.
Przykladowo zalozylem, ze element o wartosci 99 jest neutralny i moze sie powtarzac natomiast kazdy inny ma prawo pojawic sie, jako wybrany, tylko raz.
Wymogiem koniecznym do zaskoczenia softu jest zainicjowanie wszystkich combosow, by nie pojawialy sie w nich powtarzajace sie elementy wybrane (nie dotyczy to elementu o wartosci neutralnej).
Zainteresowanych zapraszam do wyprobowania zalaczonego przykladu i podzielenia sie swoimi spostrzezeniami.
Jeszcze raz dzieki wszystkim za pomoc i zmuszenie do nauki
Po ostatnim poscie jogurta_owocowego wzialem do siebie uwagi Kolegi i po ciezkich probach trwajacych 3 dni udalo mi sie w 100% wykonac postawione na poczatku watku zadanie.
Bloczek dziala na dowolnej liczbie comboboxow, ktorych tabele referencji podaje jako jedna z danych wejsciowych. Obsluga combosow odbywa sie w petli event gdzie wykrywane jest zdarzenie value changed kazdego z combosow w ramach jednego eventa. Do bloczka podawane sa dodatkowo wartosci OldVal i NewVal, oraz referencja comboboxa wywolujacego zdarzenie.
Nastepnie iteracyjnie (poza combosem, ktory wywolal zdarzenie) modyfikowana jest tablica Strings and Values i na koncu calosc jest sortowana zeby lista jakos schludnie wygladala.
Przykladowo zalozylem, ze element o wartosci 99 jest neutralny i moze sie powtarzac natomiast kazdy inny ma prawo pojawic sie, jako wybrany, tylko raz.
Wymogiem koniecznym do zaskoczenia softu jest zainicjowanie wszystkich combosow, by nie pojawialy sie w nich powtarzajace sie elementy wybrane (nie dotyczy to elementu o wartosci neutralnej).
Zainteresowanych zapraszam do wyprobowania zalaczonego przykladu i podzielenia sie swoimi spostrzezeniami.
Jeszcze raz dzieki wszystkim za pomoc i zmuszenie do nauki
Ostatnio zmieniony 25 lip 2008 05:48 przez ky3orr, łącznie zmieniany 1 raz.
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: [jak] aktualizacja elementów Combo Box'ów?
Dołącz jeszcze brakujący subvi wyszukanie_indeksu_wiersza.vi.
- ky3orr
- Posty: 149
- Rejestracja: 10 gru 2006 00:00
- Wersja środowiska: LabVIEW 8.6
- Lokalizacja: Siechnice
- Kontakt:
[jak] aktualizacja elementów Combo Box'ów?
juz poprawiłem zawartość archiwum. zapraszam do testów
czy ktoś przetestował? jakieś komentarze?
czy ktoś przetestował? jakieś komentarze?
Ostatnio zmieniony 28 lip 2008 13:04 przez ky3orr, łącznie zmieniany 1 raz.
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: [jak] aktualizacja elementów Combo Box'ów?
Jak dla mnie jest git.
Dlaczego używasz User Event do inicjalizacji Combo Boxów?
Dlaczego używasz User Event do inicjalizacji Combo Boxów?
- ky3orr
- Posty: 149
- Rejestracja: 10 gru 2006 00:00
- Wersja środowiska: LabVIEW 8.6
- Lokalizacja: Siechnice
- Kontakt:
[jak] aktualizacja elementów Combo Box'ów?
kod jest wycinkiem większej aplikacji. muszę inicjalizować comboboxy zanim będę na nich pracować, a dane zaciągane do combosów (opisy i wartości) pochodzą z bazy danych której obsługa jest dostępna tylko w pętli while okalającej strukturę event. stąd wywołuję w drugiej pętli (obsługującej program) eventa ładującego dane do combosów.
Re: [jak] aktualizacja elementów Combo Box'ów?
Witam,
Oprócz aktualizacji combo box podczas programu chciałbym zachować zmiany i móc je po ponownym uruchomieniu programu wczytać. Nie mogę sobie z tym poradzić. Próbuję w ten sosób: property node (Strings[])->wrzucić do tablicy i zapisać.
Oprócz aktualizacji combo box podczas programu chciałbym zachować zmiany i móc je po ponownym uruchomieniu programu wczytać. Nie mogę sobie z tym poradzić. Próbuję w ten sosób: property node (Strings[])->wrzucić do tablicy i zapisać.
[jak] aktualizacja elementów Combo Box'ów?
Witam,
Luke76a napisz co rozumiesz poprzez wrzucenie do tablicy i zapis.
Osobiście zapisuję takie rzeczy do pliku, lub jeśli program na to pozwala, do bazy danych.
Załącz do postu VI, na którym pracujesz to postaram się pomóc.
Pozdrawiam
Luke76a napisz co rozumiesz poprzez wrzucenie do tablicy i zapis.
Osobiście zapisuję takie rzeczy do pliku, lub jeśli program na to pozwala, do bazy danych.
Załącz do postu VI, na którym pracujesz to postaram się pomóc.
Pozdrawiam
Re: [jak] aktualizacja elementów Combo Box'ów?
Witam,
Dziękuję Cuspy1 za zainteresowanie i chęć pomocy. Tak jak widać na obrazku chcę zapisać tablicę stringów poprzez "Write To Spreadsheet File", jednak wyskakuje błąd połączenia.
Dziękuję Cuspy1 za zainteresowanie i chęć pomocy. Tak jak widać na obrazku chcę zapisać tablicę stringów poprzez "Write To Spreadsheet File", jednak wyskakuje błąd połączenia.
Re: [jak] aktualizacja elementów Combo Box'ów?
Gdzie Ci ten błąd wyskakuje? Co sygnalizuje LabVIEW? Najedź na to połączenie i zobacz co masz w pomocy kontekstowej.
Twój bloczek ciut inaczej wygląda (która wersja LV?), ale może też ma dwa wejścia: 2D data i 1D data. Na pewno dobrze podpinasz? Jeśli nie zależy Ci na możliwości edycji danych w pliku (np przez notatnik) to równie dobrze możesz zapisać te dane jako Binary File.
U mnie żadnego błędu z Write To Spreadsheet File nie ma.
Twój bloczek ciut inaczej wygląda (która wersja LV?), ale może też ma dwa wejścia: 2D data i 1D data. Na pewno dobrze podpinasz? Jeśli nie zależy Ci na możliwości edycji danych w pliku (np przez notatnik) to równie dobrze możesz zapisać te dane jako Binary File.
U mnie żadnego błędu z Write To Spreadsheet File nie ma.
Re: [jak] aktualizacja elementów Combo Box'ów?
Właśnie sprawdziłem w wersji 8.6, że z podpięciem nie ma problemu (podpinam do 1D) W wersji 7.1 (w tej muszę napisać program) jest błąd, że podpinam dwie zmienne innego typu.
[jak] aktualizacja elementów Combo Box'ów?
Witam,
W wersji LV 8.6 write to spreadsheet file jest VI polimorficznym ustawionym na auto wykrywanie.
Nie pamiętam jak to było w wersji 7.1 ale być może musisz ręcznie zmienić typ danych na STR. W tym celu kliknij na VI prawym klawiszem myszy i poszukaj w menu czegoś w stylu "select type".
Daj znać czy się udało.
Pozdrawiam
W wersji LV 8.6 write to spreadsheet file jest VI polimorficznym ustawionym na auto wykrywanie.
Nie pamiętam jak to było w wersji 7.1 ale być może musisz ręcznie zmienić typ danych na STR. W tym celu kliknij na VI prawym klawiszem myszy i poszukaj w menu czegoś w stylu "select type".
Daj znać czy się udało.
Pozdrawiam
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków