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.