Snadné přizpůsobení vstupního pořadí dynamických formulářů

Automaticky přeloženo z Deepl

Ve verzi 4D v16 R6 byly představeny dynamické formuláře, které umožňují vytvářet formuláře za běhu, a to tak, že je vytvoříte v objektu nebo je načtete z textového souboru. To je velmi výhodné ve světě, kde se formuláře často mění podle potřeb aplikace.

Ve 4D se pořadí zadávání typicky řídí pořadím z pro binární i dynamické formuláře. Ve verzi 4D v17 R6 můžete nyní definovat pořadí zápisu, které nemusí být nutně spojeno s pořadím z.

Pro každou stránku v definici formuláře máte k dispozici atribut „objekty“ obsahující seznam prvků formuláře uspořádaných podle pořadí z. Byl přidán nový atribut„entryOrder„, který vám umožní zadat vlastní přizpůsobené pořadí vstupu. Pokud je tento atribut nedefinovaný, použije 4D pořadí z (pořadí definované v atributu „objects“).

Zde je příklad dynamického formuláře se dvěma vstupními poli a tlačítkem:

// Create inputs and button
$text1:=New object("type"; "input"; "top";20; "left";140; "width";100; "height";18)
$text2 :=New object("type"; "input"; "top";20; "left";20; "width";100; "height";18)
$button :=New object("type"; "button"; "text"; "OK"; "top";60; "left";140; "width";100; "height";20)

// Create entry order collection
$entryOrder :=New Collection("text2"; "text1")

// Create page with form objects and entry order
$page :=New object("objects";New object("text1";$text1; "text2";$text2; "button";$button); "entryOrder";$entryOrder).

// Create form
$form:=New object("pages"; New collection(Null;$page); "windowTitle"; "My form"; "rightMargin";20; "bottomMargin";20)

// Load the form
$w :=Open form window($form)
DIALOG ($form)

To lze znázornit jako:

{
	"pages": [
		null,
		{
			"objects": {
				"text1": {
					"type": "input",
					"top": 20, "left": 140,
					"width": 100, "height": 18,
					"events": ["onClick"]
				},
				"text2": {
					"type": "input",
					"top": 20, "left": 20,
					"width": 20, "height": 18,
					"events": ["onClick"]
				},
				"button": {
					"type": "button",
					"text": "OK",
					"top": 60, "left": 140,
					"width": 20, "height": 20,
					"events": ["onClick"]
				}
			},
			"entryOrder": [
				"text2",
				"text1"
			]
		}
	]
}
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.