Beispiele

Status als Buttons ausgeben

Status als Buttons ausgeben

Möchtest du einen Status, beispielsweise den Aufgabenstatus, auf einer Oberfläche wie einer Custom Table oder direkt auf deinem Datensatz anzeigen? Es gibt verschiedene Möglichkeiten, dies zu erreichen. Du kannst entweder ein Select-Feld verwenden, um den Status auswählbar zu machen, oder eine effizientere Methode nutzen: Buttons, die direkt angeklickt werden können. Diese Buttons lassen sich in einem übersichtlichen Layout anordnen. Hier ist die Vorgehensweise:

  1. Status in einer separaten Hilfstabelle anlegen

    Erstelle zunächst eine Hilfstabelle, in der die verschiedenen Statuswerte in einem Textfeld definiert werden.

  2. Status auf der Zieltabelle als dynamisches Feld einblenden (Ninox)

    Blende die Statuswerte in der Zieltabelle als dynamisches Feld ein, sodass sie flexibel genutzt werden können.

  3. Den Anwendungscode auf deiner Oberfläche einfügen

    Füge den erforderlichen Anwendungscode in deine Oberfläche ein. Das kann beispielsweise in einer Custom Table in einer Spalte sein oder aber blank auf deinem Ninox Record.

  4. Anwendungscode auf deinen Use Case anpassen: Deine eigene Statusliste auswählen

    Wähle die entsprechende Hilfstabelle, die du bei Schritt 1 angelegt hast, bei Blocks unter „select ….“ aus, um sicherzustellen, dass die richtigen Statuswerte verwendet werden.

  5. Anwendungscode auf deinen Use Case anpassen: Field bei Actions mit der fieldID deines Statusfeldes austauschen

    Tausche in den Actions das Feld mit der fieldID deines Statusfeldes, dass du bei Schritt 2 angelegt hast, aus, damit die Änderungen korrekt übernommen werden.

Mit diesen Schritten kannst du eine intuitive und benutzerfreundliche Oberfläche gestalten, auf der der Status schnell und einfach angepasst werden kann.

Anwendungscode

arcCustomLayout({
								uniqueId: "statusTermin " + Nr,
								direction: "horizontal",
								alignX: "center",
								alignY: "center",
								width: "100%",
								height: "100%",
								gap: "10px",
								backgroundColor: "",
								paddingY: "10px",
								paddingX: "10px",
								blocks: let id := Nr;
								(select 'Status Termin').[{
										align: "center",
										styles: "",
										width: "fraction",
										clickAction: "",
										value: arcCustomButton({
												uniqueId: "Termin_Status_" + id + Nr,
												title: Bezeichung,
												width: "100%",
												icon: "",
												fontSize: "",
												fontColor: if id.Status = number(Nr) then
													"#fff"
												else
													"#9ba3af"
												end,
												iconColor: "",
												backgroundColor: if id.Status = number(Nr) then
													Farbe
												else
													"#9ba3af33"
												end,
												borderColor: if id.Status = number(Nr) then
													Farbe
												else
													"#9ba3af33"
												end,
												borderRadius: "5px",
												actions: [{
														recordId: id,
														type: "update",
														field: "Q1",
														value: if id.Status = number(Nr) then
															null
														else
															number(Nr)
														end
													}]
											})
									}]
							})