Modyfikacja zależności kontrolki — okno dialogowe
Podsumowanie:Zależności kontrolek służą do konfigurowania relacji między kontrolkami na formularzu i używania ich do sterowania widocznością kontrolki podrzędnej odpowiednio do wartości kontrolki nadrzędnej oraz do filtrowania pozycji na podrzęndej liście wyboru wartością wybraną na nadrzędnej liście wyboru.
Zależności są dostępne dla wybranych rodzajów kontrolek.
Zależności
to właściwość następujących kontrolek: Checkbox (grupa i pojedynczy), Lista wielowyboru, Lista wyboru (słownik, SQL - async, SQL), Pole numeryczne, Przyciski Radio oraz Typy biznesowe.
Po skonfigurowaniu tej właściwości dla kontrolki staje się ona kontrolką nadrzędną dla wskazanych kontrolek zależnych, to znaczy wybór wartości w tej kontrolce wpływa na dostępne wartości lub widoczność kontrolek zależnych.
Zależność polegającą na filtrowaniu można określić tylko między kontrolkami typu lista rozwijana. Zależność związaną ze zmianą atrybutu widoczności może być definiowana dla kontrolek zależnych dowolnego typu.
W celu skonfigurowania właściwości Zależność
kliknij przycisk Modyfikuj zależności kontrolki
. Zostanie wyświetlone okno dialogowe Modyfikacja zależności kontrolki
. Zależności konfiguruje się na dwóch zakładkach: Filtrowanie kontrolek
i Wyświetlanie kontrolek
. W obu przypadkach dodanie nowej zależności wymaga kliknięcia przycisku Dodaj
. Następnie, odpowiednio do wybranej karty, należy podać wartości opisane poniżej.
Filtrowanie kontrolek

Filtrowanie kontrolek polega na filtrowaniu wartości dostępnych na zależnej liście wyboru według wartości wybranej z listy nadrzędnej (bieżącej). Na przykład po wybraniu wartości z listy nadrzędnej Województwa
na liście zależnej Powiaty
dostępne będą tylko powiaty z wybranego województwa.
W celu skonfigurowania zależności należy określić następujące wartości:
-
Kontrolka zależna
: określ kontrolkę zależną (listę wyboru), używając składni: #kod-sekcji.kod-kontrolki:filtrowana-kolumna, gdzie:-
kod-sekcji to właściwość
Kod
sekcji, w której znajduje się kontrolka zależna; używaj tylko dla kontrolki zależnej w innej sekcji niż bieżąca; -
kod-kontrolki to właściwość
Kod
kontrolki zależnejPamiętaj, aby przed kodem kontrolki użyć kropki, także wtedy, kiedy jest to kontrolka z sekcji bieżącej;
- filtrowana-kolumna to zwracana przez zapytanie SQL nazwa kolumny w kontrolce zależnej, której wartości mają być filtrowane według wartości wybranej w kontrolce nadrzędnej.
-
kod-sekcji to właściwość
-
Wartość
: nazwa kolumny zwracanej przez zapytanie SQL nadrzędnej listy rozwijanej, której wartości będą używane do filtrowania wartości w kontrolce zależnej. Użyj składni @_nazwa-kolumny, na przykład @_key, @_value itp.; możesz też podać konkretną wartość (literał).
Na koniec kliknij przycisk Dodaj
w kolumnie Akcje
, aby dodać zależność. Dla jednej kontrolki nadrzędnej można skonfigurować kilka kontrolek zależnych.
Przykład:
Aby wybór wartości na jednej liście rozwijanej ograniczał listę dostępnych wartości na drugiej liście rozwijanej, należy dla tej pierwszej listy (nadrzędnej) skonfigurować zależność jak w poniższej tabelce.
Kontrolka zależna | Wartość |
---|---|
.TerytPL-sa0o7f:WojFltr | @_key |
Kontrolka o kodzie TerytPL-sa0o7f to lista rozwijana z nazwami powiatów. Zapytanie SQL dla tej listy zwraca kolumnę WojFltr z identyfikatorami województw:
SELECT WOJ AS [WojFltr]
,CAST(CONCAT(WOJ, POW) AS nvarchar) AS [key]
,GMI
,RODZ
,NAZWA AS [value]
,NAZWA_DOD
FROM [dbo].[PodzialAdministracyjny]
WHERE NAZWA_DOD
IN ('powiat',
'miasto na prawach powiatu',
'miasto stołeczne, na prawach powiatu')
ORDER BY value ASC
Filtrowanie polega na wybraniu z listy wszystkich powiatów, dla których wartość w kolumnie WojFltr jest równa wartości ustawionej w kolumnie key na liście nadrzędnej. Ta kolumna to identyfikator województwa. Zapytanie SQL dla listy nadrzędnej jest następujące:
SELECT WOJ AS [key]
,NAZWA AS [value]
,NAZWA_DOD
FROM [dbo].[PodzialAdministracyjny]
WHERE NAZWA_DOD = 'województwo'
ORDER BY value ASC
Wybranie województwa na liście nadrzędnej powoduje odfiltrowanie z listy powiatów wszystkich pozycji, dla których identyfikator województwa jest inny niż na liście nadrzędnej.

Wyświetlanie kontrolek

Ten rodzaj zależności służy do sterowania widocznością kontrolek zależnych odpowiednio do wartości ustawionej w kontrolce nadrzędnej. W tym przypadku kontrolkami nadrzędnymi mogą być wszystkie rodzaje kontrolek, które mają właściwość Zależność
, a kontrolkami zależnymi — dowolne kontrolki. Zależność działa w ten sposób, że jeśli podany w zależności warunek jest spełniony, kontrolka zależna jest wyświetlana, w przeciwnym razie jest ukrywana.
Na przykład wybranie z listy wyboru Stan cywilny
wartości Zamężna
może powodować wyświetlenie normalnie ukrytego pola tekstowego Nazwisko rodowe
. W przypadku, gdy kontrolką nadrzędną jest pole z danymi typu tekstowego, numerycznego lub identyfikator guid (konwertowany na typ tekstowy uppercase), możliwe jest konstruowanie prostych warunków z użyciem operatorów. W celu skonfigurowania zależności należy określić następujące wartości:
-
Kontrolka zależna
: określ kontrolkę zależną, używając składni: #kod-sekcji.kod-kontrolki, gdzie:-
kod-sekcji to właściwość
Kod
sekcji, w której znajduje się kontrolka zależna; używaj tylko dla kontrolki zależnej w innej sekcji niż bieżąca; -
kod-kontrolki to właściwość
Kod
kontrolki zależnej;Pamiętaj, aby przed kodem kontrolki użyć kropki, także wtedy, kiedy jest to kontrolka z sekcji bieżącej;
-
kod-sekcji to właściwość
-
Operator
: wybierz z listy operator, aby określić warunek, którego spełnienie spowoduje wyświetlenie kontrolki zależnej; dostępne operatory: =, >, <, <=, >=, !=, zawiera się w, nie zawiera się w oraz jest niepusta; dla operatorów zawiera się w i nie zawiera się w można określić listę wartości w formacie [wartość1,wartość2…] lub zakres wartości (domknięty) w formacie <wartość_początkowa;wartość_końcowa> -
Wartość
: określ wartość dla warunku wyświetlania kontrolki zależnej; ta wartość jest porównywana z wartością kontrolki nadrzędnej.
W tabeli poniżej podano zasady określania warunków wyświetlania kontrolki zależnej.
Typ wartości | Operator | Wartość | Uwagi |
---|---|---|---|
Liczba
|
=, >, <, <=, >=, != | 123 | porównuje wartość kontrolki nadrzędnej z podaną liczbą |
zawiera się/nie zawiera się
|
[1,7,13] | sprawdza, czy wartość kontrolki nadrzędnej jest równa dowolnej liczbie z podanej listy | |
<5;7> | sprawdza, czy wartość kontrolki nadrzędnej należy do podanego przedziału domkniętego (równoważny warunek 5 <= n <= 7, gdzie n to wartość kontrolki nadrzędnej) | ||
Tekst
|
=, != | abc | porównuje wartość kontrolki nadrzędnej z podanym ciągiem znaków |
zawiera się/nie zawiera się | [“abc”,”cda”,”bbc”] | sprawdza, czy wartość kontrolki nadrzędnej jest równa dowolnemu ciągowi znaków z podanej listy |
Przykład:
Aby w zależności od wartości wybranej na liście Stan cywilny
sterować widocznością pola Nazwisko rodowe
, należy skonfigurować następującą zależność:
Kontrolka zależna | Operator | Wartość |
---|---|---|
.birthNameTxtBx | = | Zamężna |
birthNameTxtBx to kod kontrolki zależnej, czyli pola tekstowego Nazwisko rodowe
, a Zamężna to wartość na liście Stan cywilny
, po wybraniu której kontrolka zależna będzie wyświetlana. W przypadku innych wartości kontrolka będzie ukryta.