Mřížka, ach ta mřížka - Relace
Mřížka nemá s relacemi mezi tabulkami problémy (většinou).
Pro následující tři příklady použití relací ve spolupráci s mřížkou byly vytvořeny tři tabulky.
Nadřazená XXT000, podřazená XXT002 a číselník XXT900, který obsahuje popisy kódů.
Vazba mezi tabulkama XXT000 a XXT002 je zajištěna položkou XX000.
Tabulky XXT000 a XXT002 obsahují položku XX001 (nějaký kód) přes kterou se relací dohledává popis v tabulce XXT900.
Formuláře si tabulky otevírají a zavírají samy, bez použítí datového prostředí.
Struktura tabulky: XXT000.DBF
Pole Typ Délka Des.
XX000 Integer 4
XX001 Character 5
XX002 Date 8
XX005 Numeric 1
Struktura tabulky: XXT002.DBF
Pole Typ Délka Des.
XX000 Integer 4
XX010 Integer 4
XX001 Character 5
XX012 Date 8
XX005 Numeric 1
Indexy
Tag: XXI0020 Výraz: XX000
Struktura tabulky: XXT900.DBF
Pole Typ Délka Des.
XX001 Character 5
XX020 Character 100
Indexy
Tag: XXI9000 Výraz: XX005
Příklad
grid_71.scx ukazuje, že stačí jen relace nastavit a mřížkám definovat zdroj dat.
Nic víc není třeba.
SELE XXT000
SET RELATION TO XX000 INTO XXT002,;
XX001 INTO XXT900
SELE XXT002
SET RELATION TO XX001 INTO XXT900_1
Druhý příklad
grid_72.scx ukazuje využít nativních vlastností mřížky.
Veškerá nastavení se provádějí na mřížce zobrazující data z podřazené tabulky.
Vlastnost
ChildOrder určuje index podřazené tabulky (
ChildOrder="XXI0020").
Vlastnost
LinkMaster určuje alias nadřazené tabulky (
LinkMaster="XXT000").
Vlastnost
RelationExpr určuje výraz dle kterého se budou fitrovat data podřazené tabulky (
RelationExpr="XX000").
Jenom ponecháme relace do číselníku.
SELE XXT000
SET RELATION TO XX001 INTO XXT900
SELE XXT002
SET RELATION TO XX001 INTO XXT900_1
Třetí příklad
grid_73.scx ukazuje na použití mřížky jako zobrazovacího objektu uvnitř jiné mřížky.
Mřížka se vkládá stejně jako ostatní objekty (textové pole, rozbalovací seznam atd.).
Zde vnitřní mřížka zobrazuje podřazená data vůči nadřazené tabulce.
Pokud se začnete pohybovat po mřížce, zjistíte, že ve vnitřní mřížce se zničeho nic začne objevovat stejný popis.
Je to příznak počínajících potížích a jak se jim vyhnout bude rozebráno v dalším dílu.