Auf dieser Seite wird die Definition einer Tabelle beschrieben.

 

Tabellendefinitionen erfolgen in XML. Es empfiehlt sich folgende Deklaration:

<?xml version="1.0" encoding="UTF-8"?>
<Table xmlns="http://www.geograt.de/namespaces/gisx3/dialogdefinition/1.0" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
...  
</Table>

Tabellendefinitionen werden im Unterverzeichnis "components" abgelegt und müssen die Dateiendung ".xml" besitzen.

Beispiel für eine Tabellendefinition:

<?xml version="1.0" encoding="UTF-8"?>
<Table xmlns="http://www.geograt.de/namespaces/gisx3/dialogdefinition/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <title>TestTable</title>
  <spanColumns>4</spanColumns>
  <filter>C37 = :verbindung</filter>
  <themeId>shape:exampleDialogDefinition</themeId>
  <column>
    <title>Datum</title>
    <content>
      <featureAttribute>
        <name>datum</name>
      </featureAttribute>
    </content>
  </column>
  <column>
  	<title>Betrag</title>
  	<content>
  		<featureAttribute>
  			<name>betrag</name>
  		</featureAttribute>
  	</content>
  </column>
  <sortBy>betrag</sortBy>
  <sortType>asc</sortType>
  <pagination>false</pagination>
  <action>
    <click>
      <text>Testklick</text>
        <href>
          <attributeName>LINK</attributeName>
          <internal>false</internal>
        </href>
    </click>
  </action>
</Table>

Es gilt: 

  • <title> :=  Sichtbare Bezeichnung der Tabelle
  • <spanColumns> := OPTIONAL. Anzahl der Spalten, über die sich die Komponente erstrecken soll (Default: 1)
  • <filter> :=  OPTIONAL Hier kann ein zusätzlicher Filter für Tabellendaten angegeben werden. In diesem Filter müssen Attributnamen verwendet werden. (Bei Shape sind dies die Spaltennamen gemäß .dbf-Datei.)
  • <themeId> := Angabe des Themas, auf dem sich die Daten dieser Tabelle beziehen.
  • <column> := Angabe der einzelnen Spalten
  • <sortBy> := OPTIONAL Angabe des Attributes einer Spalte, deren Inhalt maßgeblich für die Sortierung verantworlich ist. Es muss eine Spalte mit dem angegebenen Attribut existieren.
  • <sortType> := OPTIONAL Angabe in welcher Richtung sortiert werden soll. Standardwert ist asc (Ascending). Mögliche Werte sind "asc" oder "desc".
  • <pagination> := OPTIONAL. Schaltet die Paginierung einer Tabelle aus. Mögliche Werte sind "true" oder "false". Standardwert ist "true", d.h. Paginierung für Tabelle ist eingeschaltet.
  • <action> := OPTIONAL Angabe von Aktion bei Klick auf Zeile (<click>) oder Erzeugung neuer Datensätze (<edit>)

Die Reihenfolge der Attribute ist zwingend einzuhalten!

Jeder <column> Block hat zum jetzigen Zeitpunkt folgende Attribute:

  • <title> := Bezeichnung der Tabellenspalte.
  • <notSortable> := Mögliche Werte sind "true" oder "false" (Standard "false"). Mit diesem Attribut können Spalten in der Ansicht als nicht sortierbar definiert werden
  • <defaultSortOrder> := Mögliche Werte sind "asc" oder "desc", Standardwert ist "asc". Mit diesem Attribut kann die Standardsuchreihenfolge einer Spalte festgelegt werden.
  • <align> := Mögliche Werte sind "left", "right" oder "center", Standardwert ist "left". Mit diesem Attribut kann die Ausrichtung von Werten der Spalte festgelegt werden.
  • <content> := Der Inhalt der Tabellenspalte.

Jeder <content> Block hat zum jetzigen Zeitpunkt folgende Attribute:

  • <featureAttribute> := Definitionsblock der Featureattribute.

Jedes Featureattribut hat folgende Eigenschaften:

  • <name> := Der Wert des Attributs. Für diese Werte müssen JSON Attributnamen angegeben werden.
Icon

Eine Übersicht über alle angebotenen Attribute findet man auf dieser Seite.

Filter

Im Filter können Platzhalter eingesetzt werden, die der Tabelle anschließend als Parameter übergeben werden können.

<Table>
	...
	<filter>mycolumn = :myparameter</filter>
	...
</Table>

In diesem Beispiel ist ":myparameter" ein Parameter der für die Anzeige von Daten dynamisch übergeben werden kann.

Folgendes Beispiel zeigt die Einbindung der Tabelle in einem Dialog mit Definition des dynamischen Parameters für die Tabelle:

<Dialog>
	...
	<component>
		<referencedTable>
			...
			<parameter>
				<name>myparameter</name>
				<type>
					<attribute>
						<attribute>someParentProperty</attribute>
					</attribute>
				</type>
			</parameter>
			...
		</referencedTable>
	</component>
</Dialog>
			

Hierbei wird "myparameter" immer mit dem Wert von "someParentProperty" des aktuell angezeigten Datensatzes im Dialog belegt.

Icon

Die Einbindung von Parametern erfolgt in der Regel durch ":" + <parameterName>. Hierbei handelt es sich um Parameter für SQL fähige Datenbanken.

Für die Abfrage müssen diese Parameter nicht in ' eingeschlossen werden, das erledigt GISX3.

Im Falle der Abfrage von SHAPE Dateien ist dies leider nicht möglich (Es handelt sich um keine Datenbank). In diesem Fall sind Parameter als '${<parameterName>}' anzugeben:

<filter>SHAPECOL = '${mein-attribut}'</filter>

Aktionen

Klick

Die Klick-Aktion beschreibt was passieren soll, wenn auf eine Zeile geklickt wird.

<action>
  <click>
   <text>Testklick</text>
     <href>
       <attributeName>LINK</attributeName>
       <internal>false</internal>
     </href>
  </click>
</action>

Es gilt:

  • <text> := Name der Aktion (Tooltip Anzeige)
  • <href><attributeName> := Attributname, der eine URL Adresse enthält. Optional. Wenn nicht angegeben, wird die Datenmaske des aufgelisteten Objekts selbst geöffnet.
  • <href><internal> := true | false. Gibt an ob es sich um eine interne Verknüpfung handelt oder nicht. Interne Verknüpfungen werden im aktuellen Browsertab geöffnet, externe in einem neuen

ButtonKlick

Die Button-Klick-Aktion stellt einen zusätzlichen Button im Bereich der Tabellenüberschrift bereit, der eine weitere Klick Action für eine ausgewählte Zeile beschreibt.

<action>
  <buttonClick>
     <text>Testklick</text>
     <href>
       <attributeName>LINK</attributeName>
       <internal>false</internal>
     </href>
     <icon>add</icon>
  </buttonClick>
</action>

Es gilt (Die Reihenfolge ist zwingend einzuhalten):

  • <text> := Name der Aktion (Tooltip Anzeige)
  • <href><attributeName> := Attributname, der eine URL Adresse enthält. Optional. Wenn nicht angegeben, wird die Datenmaske des aufgelisteten Objekts selbst geöffnet.
  • <href><internal> := true | false. Gibt an ob es sich um eine interne Verknüpfung handelt oder nicht. Interne Verknüpfungen werden im aktuellen Browsertab geöffnet, externe in einem neuen
  • <icon> := Name des Icons das angezeigt werden soll. Es sind nur folgende Namen zulässig:
    • add
    • add_circle

    • arrow_back
    • arrow_downward
    • arrow_upward
    • brush
    • clear
    • close
    • delete_forever
    • expand_less
    • expand_more
    • gps_fixed
    • file_upload
    • info
    • layers
    • link
    • menu
    • mode_edit
    • more_vert
    • navigate_before
    • navigate_next
    • picture_as_pdf
    • print
    • remove
    • search
    • star
    • star_border
    • straighten
    • visibility_off

Create

Die Create-Aktion fügt der Tabelle die Möglichkeit hinzu, neue Datensätze zu erzeugen.

<action>
	<create>
		<text>Neues Dingsbums</text>
		<formName>forms.dingsbums</formName>
		<attribute>
			<name>dingsbums.superid</name>
			<type>
				<attribute>
					<attribute>_id</attribute>
				</attribute>
			</type>
		</attribute>
		...
	</create>
</action>

Es gilt:

  • <text> := Name der Aktion (Anzeige im Tooltip)
  • <formName> := Name des Formulars, in welchem Daten zur Erzeugung eingegeben werden sollen
  • <dashboardPostAction> := Optional. Kann die Werte "reload" oder "open" enthalten. Beschreibt ob nach der Erzeugung eines neuen Features das Dashboard des erzeugten Features geöffnet werden soll ("open") oder das aktuelle Dashboard aktualisiert werden soll ("reload"). Standardwert ist "open".
  • <attribute> := Hier können mehrere Attribute angegeben werden, die zur Erzeugung eines neuen Datensatzes benötigt werden. Die Angabe kann in Form von Konstanten oder (wie im Beispiel) Verweisen auf andere Attribute stattfinden
Icon

Die Aktion ist nur verfügbar, wenn Bearbeitungsrechte auf dem Thema der Tabelle vorhanden sind.

Delete

 Die Delete-Aktion fügt der Tabelle die Möglichkeit hinzu, Datensätze zu entfernen.

<action>
	<delete>
		<text>TestTextDelete</text>
	</delete>
</action>

Es gilt:

  • <text> := Name der Aktion (Anzeige im Tooltip)
Icon

Die Aktion ist nur verfügbar, wenn Bearbeitungsrechte für das Thema der Tabelle vorhanden sind

Upload

Die Upload-Aktion fügt der Tabelle die Option hinzu, Dateien hochzuladen.

<action>
	<upload>
		<text>Dokument uploaden</text>
		<themeId>investmanagement:projekt</themeId>
		<id>
			<attribute>
				<attribute>_id</attribute>
			</attribute>
		</id>
	</upload>
</action>

Es gilt:

  • <text> := Name der Aktion (Anzeige im Tooltip)
  • <themeId> := Zielthema des Uploads
  • <id> := Angabe der ID des Datensatzes im Zielthema dem das Dokument / die Dokumente zugeordnet werden sollen
Icon

Nur wenige Themen in GISX 3 erlaubten aktuell den Upload von Dateien!

Die Aktion ist nur verfügbar, wenn Bearbeitungsrechte auf das Zielthema vorhanden sind.