Tabulky jsou skvělým univerzálním nástrojem. Tabulky poskytované aplikací 4D View Pro mohou rychle vyřešit mnoho situací, se kterými se vaši koncoví uživatelé setkávají, od ovládacích panelů až po vstupně-výstupní uživatelské rozhraní.
Již dříve jsme si vysvětlili použití funkce tabulek v aplikaci 4D View Pro k zobrazení a úpravě sbírek dat. Při použití tabulek 4D View Pro může být později nutné přidat nebo odebrat sloupce v závislosti na potřebách koncových uživatelů. Za tímto účelem má 4D View Pro od verze 4D v19 R7 několik nových příkazů pro správu sloupců a řádků tabulky. Podívejme se, jak to funguje.
Prvním krokem před přidáním nebo odebráním některých sloupců je vytvoření tabulky v aplikaci 4D View Pro. Pro níže uvedené příklady použijeme tabulku 4D View Pro, která zobrazuje některá data z databázové tabulky s názvem „Lidé“:
$context:=New object
$context.people:=ds.People.all().toCollection()
VP SET DATA CONTEXT("ViewProArea"; $context)
$parameter:=New object
$parameter.tableColumns:=New collection
$parameter.tableColumns.push(New object("name"; "Phone"; "dataField"; "Phone"))
$parameter.tableColumns.push(New object("name"; "Email"; "dataField"; "email"))
$parameter.tableColumns.push(New object("name"; "Country"; "dataField"; "Country"))
VP CREATE TABLE(VP Cells("ViewProArea"; 2; 1; 3; 1); "PeopleTable"; "people"; $parameter)
Vložení sloupců do tabulky
Stránka VP INSERT TABLE COLUMNS Příkaz umožňuje vložit sloupec, kdykoli jej do tabulky potřebujete. Pokud například chcete zobrazit 2 nové sloupce před prvním sloupcem tabulky 4D View Pro :
VP INSERT TABLE COLUMNS("ViewProArea"; "PeopleTable"; 0; 2;vk table insert before)
// 0 indicate the first column of the table.
Do tabulky se nyní přidají 2 prázdné sloupce. Nyní je tedy vyplníme poli Jméno a Příjmení díky příkazu VP SET TABLE COLUMN ATTRIBUTES:
$param:=New object
// Bind the column to the Firstname field from the datacontext
$param.dataField:="Firstname"
// Change the default name of the column to "First name"
$param.name:="First name"
VP SET TABLE COLUMN ATTRIBUTES("ViewProArea"; "PeopleTable"; 0; $param)
$param:=New object
// Bind the column to the Lastname field from the datacontext
$param.dataField:="Lastname"
// Change the default name of the column to "Last name"
$param.name:="Last name"
VP SET TABLE COLUMN ATTRIBUTES("ViewProArea"; "PeopleTable"; 1; $param)
Vkládání a odstraňování řádků
Stejně tak můžete použít příkaz VP INSERT TABLE ROWS příkaz k vložení prázdných řádků do tabulky:
VP INSERT TABLE ROWS("ViewProArea"; "PeopleTable"; 1; 2)
Nezapomeňte, že VP INSERT TABLE ROWS nepřidává pouze grafické prvky, jako např. VP INSERT TABLE COLUMNS. Když na stránce VP INSERT TABLE COLUMNS přidá do listu pouze sloupce, VP INSERT TABLE ROWS přidá do listu řádky a vytvoří 2 nové řádky v kolekci vašeho datového kontextu.
V našem příkladu, pokud použijete VP Get data context, získáte svou kolekci lidí se 2 novými prázdnými řádky, people[1] a people[2]:
$data:=VP Get data context("ViewProArea")
A pokud do prázdných buněk zapíšete nějaké informace:
atributy odpovídající vašim novým informacím se přidají automaticky. Zde byly do people[1] doplněny údaje:
$data:=VP Get data context("ViewProArea")
Pokud odstraníte některé řádky, funguje to stejným způsobem. Pokud například odstraníte všechny řádky kromě prvních dvou, zmizí řádky graficky i v datovém kontextu:
VP REMOVE TABLE ROWS("ViewProArea"; "contexttest"; 2; 10)
$data:=VP Get data context("ViewProArea")
Spojení mezi datovým kontextem a tabulkou je tedy snadný způsob, jak spravovat sbírky ve 4D View Pro!
Podívejte se na tuto funkci s výše uvedeným HDI a na dokumentaci, kde najdete další podrobnosti!