comparison README.markdown @ 990:ff07474b65e0

Updated description how to create filters.
author Raimund Renkert <raimund.renkert@intevation.de>
date Fri, 01 Jul 2016 16:55:16 +0200
parents 1f7e40f27103
children effef57f3f7e
comparison
equal deleted inserted replaced
989:b943e956b767 990:ff07474b65e0
97 97
98 1. In der Tabelle 'stammdaten.query' einen neuen Eintrag erzeugen. 98 1. In der Tabelle 'stammdaten.query' einen neuen Eintrag erzeugen.
99 * id: Primary-Key (wird generiert) 99 * id: Primary-Key (wird generiert)
100 * name: Der Name des Filters 100 * name: Der Name des Filters
101 * type: Der Datentyp der gefiltert werden soll. 101 * type: Der Datentyp der gefiltert werden soll.
102 (mögliche Werte: 'probe', 'messung', 'messprogramm') 102 (mögliche Werte: 'probe', 'messung', 'messprogramm', 'ort', 'probenehmer',
103 'datensatzerzeuger', 'messprogrammkategorie')
103 * sql: Das auszuführende SQL-Statement (siehe #Regeln für die Syntax) 104 * sql: Das auszuführende SQL-Statement (siehe #Regeln für die Syntax)
104 * description: Ein beschreibender Text 105 * description: Ein beschreibender Text
105 106
106 2. In der Tabelle 'stammdaten.result' für die anzuzeigenden Felder je einen 107 2. In der Tabelle 'stammdaten.result' für die anzuzeigenden Felder je einen
107 Eintrag erzeugen: 108 Eintrag erzeugen:
132 angezeigt. Um im Client die Funktionalität zu erhalten, sollten Messungsfilter 133 angezeigt. Um im Client die Funktionalität zu erhalten, sollten Messungsfilter
133 die beiden Felder `probe.hauptproben_nr AS hauptprobenNr` und 134 die beiden Felder `probe.hauptproben_nr AS hauptprobenNr` und
134 `messung.nebenproben_nr AS nebenprobenNr` enthalten. 135 `messung.nebenproben_nr AS nebenprobenNr` enthalten.
135 * Bei Queries vom Typ `messprogramm` muss das erste selektierte Feld 136 * Bei Queries vom Typ `messprogramm` muss das erste selektierte Feld
136 `messprogramm.id` sein. Dieses wird in der Oberfläche nicht angezeigt. 137 `messprogramm.id` sein. Dieses wird in der Oberfläche nicht angezeigt.
137 * Selektierte Felder müssen als `feld.bezeichner AS data_index` angegeben
138 werden, wobei `data_index` dem Eintrag `data_index` in der Tabelle
139 `data_index` entspricht.
140 * Im `WHERE`-Statement genutzte Variablen müssen in der Form `:variablenName` 138 * Im `WHERE`-Statement genutzte Variablen müssen in der Form `:variablenName`
141 angegeben werden und dem Feld `data_index` im zugehörigen Filter entsprechen. 139 angegeben werden und dem Feld `data_index` im zugehörigen Filter entsprechen.
142 * Um auch leere Filterangaben zu erlauben, sollte im `WHERE`-Statement ein 140 * Um auch leere Filterangaben zu erlauben, sollte im `WHERE`-Statement ein
143 Element wie folgt aussehen: 141 Element wie folgt aussehen:
144 ... WHERE (tabelle.feld = :variablenName OR '' = :variablenName) ... 142 ... WHERE (tabelle.feld = :variablenName OR '' = :variablenName) ...
166 width: 150 164 width: 150
167 flex: false 165 flex: false
168 index: 2 166 index: 2
169 .... 167 ....
170 ``` 168 ```
171 * Filter für Stammdaten werden gesondert behandelt und beinhalten keine 169 * Queries für Stammdaten werden gesondert behandelt und beinhalten keine
172 SQL-Statements. Dementsprechend können auch keine Einträge für Ergebnisse in 170 SQL-Statements. Dementsprechend können auch keine Einträge für Ergebnisse in
173 der Tabelle `stammdaten.result` gemacht werden. Filter können allerdings, 171 der Tabelle `stammdaten.result` gemacht werden. Filter können allerdings,
174 unter der Bedingung, dass `data_index` auf einen in vorhandenes und in 172 unter der Bedingung, dass `data_index` auf einen in dem Datentyp vorhandenes
175 CamelCase geschriebenes Datenfeld zeigt, angelegt werden. 173 und in CamelCase geschriebenes Datenfeld zeigt, angelegt werden.
176 Momentan sind Filter für die folgenden Stammdaten möglich: 174 Momentan sind Queries für die folgenden Stammdaten möglich:
177 * Orte 175 * Orte
178 * Probennehmer 176 * Probennehmer
179 * Datensatzerzeuger 177 * Datensatzerzeuger
180 * Messprogrammkategorien 178 * Messprogrammkategorien
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)