Vytváření formulářů za běhu pomocí příkazů nového zdroje dat

Automaticky přeloženo z Deepl

Při vývoji aplikací je často nutné vytvářet formuláře dynamicky. Můžete například chtít vygenerovat vyhledávací formulář za běhu, který bude přizpůsoben potřebám uživatele. Ve 4D existují dva hlavní přístupy k vytváření dynamických formulářů: buď se celý formulář konstruuje programově, nebo se do existujícího rozvržení formuláře přidávají objekty. V případě druhé možnosti bylo až dosud možné duplikovat objekty pomocí OBJECT DUPLICATE, a upravit zdroj dat pomocí OBJECT SET DATA SOURCE, a to vše pomocí klasického přístupu založeného na ukazatelích.

V aplikaci 4D 20 R10 přibyly nové a výkonné příkazy, OBJECT SET DATA SOURCE FORMULA a . OBJECT Get data source formula, umožňují vývojářům svázat vzorec jako zdroj dat objektů formuláře. Kromě toho můžete dynamicky přiřazovat vzorce ke klíčovým vlastnostem seznamů pomocí příkazu LISTBOX SET PROPERTY příkazem, jako je například Aktuální položka, Aktuální pozice položky a Vybrané položky.

To otevírá cestu k modernějšímu, flexibilnějšímu a čitelnějšímu přístupu, zejména díky výrazům jako Form.xx nebo třídám.

HDI_SetDataSourceFormula

Nové příkazy pro manipulaci s vlastností zdroje dat

Byly přidány dva nové příkazy pro úpravu vlastnosti zdroje dat:

OBJECT SET DATA SOURCE FORMULA ( {* ;} object ; formula)
OBJECT Get data source formula ( {* ;} object) : formula

Příklad 1: Aktualizace vzorce

Představme si, že máme ve formuláři textový vstup s názvem „myInput“ a chceme jeho zdroj dat svázat se vzorcem „Form.myText“.

$myFormula:=Formula(Form.myText)
OBJECT SET DATA SOURCE FORMULA (*; "myInput"; $myFormula)

Příklad 2: Získání vzorce

Chcete-li načíst vzorec spojený s objektem formuláře, například s textovým vstupem s názvem „myInput“, můžete jednoduše napsat:

$formula:=OBJECT Get data source formula(*; "myInput")

Tyto nové příkazy usnadňují vytváření obecných, opakovaně použitelných šablon formulářů, které lze dynamicky konfigurovat.

Rozšířené možnosti pro ListBoxy

Tyto vlastnosti jsou přístupné pomocí následujících konstant s příkazy LISTBOX Get property a LISTBOX SET PROPERTY:

  • lk current item expression
  • lk current item pos expression
  • lk selected items expression

Příklad:

LISTBOX SET PROPERTY(*; "myListBox"; lk selected items expression; "Form.selectedItems")

Závěr

Díky adrese OBJECT SET/GET DATA SOURCE FORMULA a novým konstantám vlastností listboxu poskytuje 4D nový, elegantní a výkonný způsob vytváření dynamických rozhraní.

Díky využití vzorců a objektově orientovaného programování můžete nyní vytvářet formuláře, které jsou lépe přizpůsobitelné, udržovatelné a přehlednější.

Vanessa Talbot
• Product Owner • Vanessa Talbot se připojila k programovému týmu 4D v červnu 2014. Jako Product Owner má na starosti psaní uživatelských příběhů a jejich převod do funkčních specifikací. Její úlohou je také zajistit, aby implementovaná funkce odpovídala potřebám zákazníka. Od svého příchodu pracovala na definování klíčových prvků ve 4D. Pracovala na většině nových funkcí preemptivního multi-threadingu a také na velmi složitém tématu: nové architektuře pro enginované aplikace. Vanessa má titul z Telecom Saint-Etienne. Svou kariéru začala ve Výzkumném ústavu kriminalistickém jako vývojářka pro audiovizuální oddělení. Působila také v mediální a lékařské oblasti jako expertka na technickou podporu, produkci i dokumentaci novinek.