ID tematu: 68724
 |
Interfejs wstążki - zachowanie ToggleButton1 |
Autor |
Wiadomość |
Tassan
Starszy Forumowicz

Wersja: Win Office 2019
Posty: 32
|
Wysłany: 20-08-2020, 01:07 Interfejs wstążki - zachowanie ToggleButton1
|
|
|
W nawiązaniu do tematu Ribbon .
Mając więcej wolnego czasu zabrałem się za rzeźbienie wstążki , coś mi się udaje, coś tam pada. Bywało, że ot tak znikał sobie tworzony mozolnie w pliku excela customUI14 i tylko dzięki tworzonym ciągle kopiom udawało się odzyskać dane.
W każdym bądź razie wstążka nabiera kształtu i jak to bywa zaczyna robić się pod górkę.
Nie wspominając o ciągłych błędach i odwołaniach czy to do g_RbnX.Invalidate, czy
returnedVal = ThisWorkbook.Sheets(m_Counter).Name - to drugie w przypadku otwarcia dwóch plików excela.
Cytat: | A to może powodować zniszczenie odwołania do zmiennej g_RbnX |
dokładnie tak się dzieje
Ale do rzeczy, wstawiłem 3xToggleButton
Każdy z osobna działa poprawnie, filtrując według zadanych kryteriów, jednak jak chciałbym mieć wciśnięte 2 takie przyciski czy 3 naraz to filtrowanie pokazuje rezultat tylko według ostatniego kryterium. Nie potrafię tak tego spiąć kodem aby to dobrze działało.
Czyli mając zadane już kryteria z ToggleButton1 (wciśnięty), wciskam ToggleButton2 i teraz tabela filtruje się według kryteriów 1 i 2 a nie, że 2 zastępuje wynik 1, no i tak we wszystkich kombinacjach ToggleButton'ów.
Druga sprawa, coś brak w moim kodzie bo przykładowo jak zadziałam ToggleButton1 (wciśnięty) to filtruje listę zgodnie z podpiętym kryterium ale jak w takim stanie (ToggleButton1 wciśnięty i lista przefiltrowana) zapiszę plik to po ponownym otwarciu ToggleButton1 jest ustawiony tak jak mu zadałem w kodzie (czyli returnedVal = IsPressed gdzie IsPressed ma stan False) a lista pozostaje przefiltrowana. Teraz czy to da się zrobić z "poziomu wstążki" czy zdjęcie filtrów powinno być przy jakimś zdarzeniu. Pewnie motam ale za pierwszy razem bez pomocy ciężko to ogarnąć.
W załączniku spreparowany arkusz na potrzeby tego problemu.
Kolejne problemy w drodze bo jak widać w załączonym pliku przykładowym dalej czeka mnie ładowanie listy zależnej i zbudowanie wyszukiwarki, oj nudno nie będzie.
Testwersja.xlsm
|
Pobierz Plik ściągnięto 10 raz(y) 86.01 KB |
|
|
 | ID posta:
390967
|
|
|
 |
|
|
|
Artik


Wersja: Win Office 365
Pomógł: 3092 razy Posty: 10242
|
Wysłany: 20-08-2020, 02:20
|
|
|
Tassan napisał/a: | wstawiłem 3xToggleButton | To i dla każdego przeznacz osobną zmienną IsPressed (IsPressed1, IsPressed2, IsPressed3).
Tassan napisał/a: | Każdy z osobna działa poprawnie, filtrując według zadanych kryteriów, jednak jak chciałbym mieć wciśnięte 2 takie przyciski czy 3 naraz to ... | ... tego nie zrobisz. Tu nie chodzi o przyciski, a o to, że autofiltr może filtrować tylko po jednym kolorze. Niejednokrotnie powtarzaliśmy, że kolor nie jest dobrym nośnikiem danych. To jeden z przykładów, którego nie przeskoczysz. Musiałbyś mieć dodatkową kolumnę (może być ukryta), w której każdemu kolorowi przypiszesz wartość liczbową (może być też tekstowa). I to po tej kolumnie będziesz filtrował.
Tassan napisał/a: | Druga sprawa | Ponowne otwarcie pliku zawsze ustawia kontrolki w wartości False (nawet jak nie masz kodu). Dlatego, chcąc zapamiętać stan kontrolek, w momencie zapisu pliku musisz sobie "na boku" zapisać ich stan. Możesz w tym celu wykorzystać Nazwy, ale równie dobrze w ukrytym arkuszu - komórki.
Dasz radę?
Jak Tak, to pokaż poprawiony plik, a potem pójdziemy dalej.
Artik |
_________________ Persistence is a virtue in the world of programming. |
|
 | ID posta:
390970
|
|
|
 |
|
|
MaxIO_294
Forumowicz

Wersja: Win Office 2013
Pomógł: 2 razy Posty: 18
|
Wysłany: 20-08-2020, 06:11
|
|
|
Cześć.
Możesz spróbować tak:
- kod po wciśnięciu 1, 2 lub 3 przycisków analizuje składnie warunku.
- tworzy warunek finalny na podstawie którego tworzysz filtr dla zakresu
Każda zmiana aktywnych filtrów(przyciski) generuje od nowa algorytm tworzenia filtra.
Marek |
_________________ MaxIO_294 |
|
 | ID posta:
390972
|
|
|
 |
|
|
Tassan
Starszy Forumowicz

Wersja: Win Office 2019
Posty: 32
|
Wysłany: 21-08-2020, 22:14
|
|
|
@Marek - jak dla mnie to wydaje się być zbyt skomplikowane
@Artik Ogólnie po długim wewnętrznym dialogu zmieniłem podejście do tego problemu.
Otóż zrezygnowałem ze wspólnych wyświetleń TB1 + TB2 itd. , ograniczyłem się tylko do wychwycenia i ustawienia zachowania TB na wstążce, czyli jak jeden ma stan True to reszta False i to chyba mi się udało. Pozostał problem z przyciskiem Zerowanie, owszem po kliknięciu czyści ale nie potrafię ustawić w tym momencie TB w pozycji False.
Zapamiętywanie stanu przy wychodzeniu/zapisie sobie darowałem, teraz po prostu wywołane jest zdarzenie Workbook_BeforeClose , wyczyszczenie filtrów z zapisem i tyle wystarczy.
Także prośba o pomoc z tym "Zerowaniem"
Testwersja.xlsm
|
Pobierz Plik ściągnięto 10 raz(y) 88.17 KB |
|
|
 | ID posta:
391061
|
|
|
 |
|
|
Artik


Wersja: Win Office 365
Pomógł: 3092 razy Posty: 10242
|
Wysłany: 22-08-2020, 10:08
|
|
|
By przytrzymać Cię na powierzchni w załączniku masz poprawioną wersję pierwotną (TB1 + TB2 itd.). Pozostaniesz przy niej, czy jednak definitywnie zmieniasz zdanie co do działania (tylko jeden TB)?
Artik
Testwersja(Art).xlsm
|
Pobierz Plik ściągnięto 16 raz(y) 87.55 KB |
|
_________________ Persistence is a virtue in the world of programming. |
|
 | ID posta:
391071
|
|
|
 |
|
|
Tassan
Starszy Forumowicz

Wersja: Win Office 2019
Posty: 32
|
Wysłany: 23-08-2020, 03:01
|
|
|
Mając taki wybór skwapliwie skorzystałem z poprawionej wersji i już ją zaimplementowałem do wersji ostatecznej. Nie doszedłbym do takiego rozwiązania, także dzięki za wprowadzone poprawki , sprawa TB rozwiązana ciąg dalszy nastąpi, trzeba korzystać z Waszej ogromnej wiedzy bo z każdego takiego pomocnego rozwiązania coś się jednak wynosi.
Kolejna sprawa, będzie kolejny temat. |
|
 | ID posta:
391091
|
|
|
 |
|
|
|
Nie możesz pisać nowych tematów Możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum
|
Dodaj temat do Ulubionych Wersja do druku
|
 |
Strona używa plików cookies.
Kliknij tutaj, żeby dowiedzieć się jaki jest cel używania cookies oraz jak zmienić ustawienia cookie w przeglądarce.
Korzystając ze strony użytkownik wyraża zgodę na używanie plików cookies, zgodnie z bieżącymi ustawieniami przeglądarki.
Sprawdź, w jaki sposób przetwarzamy dane osobowe
|