Element "n:m-Beziehungen"

<< Click to Display Table of Contents >>

Navigation:  Konfigurierung Webinterface > Individuelles Maskenlayout > Elemente im individuellen Maskenlayout > Element "Beziehungen" >

Element "n:m-Beziehungen"

Attribute

 

links,oben,Breite,Höhe

Position und Größe

 

AutoMoveAndResize

siehe auch AutoMoveAndResize

 

Hintergr./Rahmen

siehe auch Hintergrund und Rahmen

 

Locked

Wenn angekreuzt, werden nur die zugeordneten Objekte angezeigt und Änderungen sind nicht möglich.

Es ist nur die select-Berechtigung notwendig.

Das Zuordnungselement wird automatisch als "locked" genutzt, wenn der Webbenutzer nur SELECT- und keine SELECT+INSERT+UPDATE+DELETE-Berechtigungen auf die n:m-Tabelle hat.

 

Listenkonfiguration

siehe auch Listenkonfiguration

 

… (andere)

Siehe Maske „Erweiterte Einstellungen“.

 

Funktionen

 

ApplyFilterByIDs(ids)

Parameter ids: zero-based array

 

Schränkt die Liste auf die in ids-Array definierten Primärschlüssel ein.

 

Hinweis: Nach dem ersten Aufruf wird der in der Management Console definierte SQL-Filter ungültig, es gelten dann die Primärschlüssel von ids. D.h., entweder gilt der in der Management Console definierte Filter oder es gelten die Primärschlüssel von ids, jedoch nicht beide gleichzeitig.

 

checkRow(rowid,check)

Kreuzt die entsprechende Zeile an oder ab.

 

deactivateFilterByIDs

Deaktiviert die Filterung von ApplyFilterByIDs

 

getAllRowIDs()

Gibt ID der Objekte der Liste als Array zurück.

 

Beispiel:

var RU=rimacon._userform;

var ids=RU.listHWM.getAllRowIDs(), s='', i;

for (i=0; i<ids.length; i++) s+=ids[i] + '\r\n';

alert(s);

 

getCheckedRowIDs()

Gibt ID der angekreuzten Objekte der Liste als Array zurück.

 

getDOMObject()

Gibt das Javascript-DOM-Objekt zurück.

 

getHeight(),  getLeft(),  getPosition(),  getSize(), getTop(), getWidth(), setHeight(height), setLeft(left), setPosition(left,top), setSize(width,height), setTop(top), setWidth(width)

siehe auch Position und Größe

 

getRowCount()

Gibt Anzahl der Objekte in der Liste zurück.

 

isListShowed()

Gibt zurück, ob die Liste schon generiert wurde.

 

refresh()

Aktualisiert die Liste.

 

setCustomParam(n, v)

Legt die benutzerdefinierte Variable fest. Siehe Maske „Erweiterte Einstellungen“.

siehe auch Parameter

 

show(bShow)

Zeigt oder versteckt das Objekt.

 

 

Ereignisse

 

onRowCheck

Javascript-Anweisungen/Funktionen werden nach Ankreuzen/Abkreuzen eines Objektes in der Objekt-Liste ausgeführt. Zur Verfügung stehen zwei Kontextvariablen:

objid: enthält ID des Objekts

checkbox: Javascript-checkbox-Objekt.

 

Beispiel:

if (objid==27 && checkbox.checked) { alert('nicht erlaubt!'); checkbox.checked=false; }

 

onRowIconClick

Javascript-Anweisungen/Funktionen werden nach Anklicken eines benutzerdefinierten Zeilen-Icons in der Objekt-Liste ausgeführt. Zur Verfügung stehen drei Kontextvariablen:

 

evnt: JS-Event

iconkey: enthält Schlüssel des Icons

objid: enthält ID des Objekts

 

afterContentInited

Javascript-Anweisungen/Funktionen werden nach vervollständigen der Liste ausgeführt.

 

 

Funktionen für Textfelder-n:m-Attribute

Zugriff auf die die Attribute über rimacon._userform.<elementname>.<nm-attribut>(index).

 

getDOMObject(index)

Gibt das Javascript-DOM-Objekt zurück.

 

getValue(index)

Gibt den Inhalt der Textbox zurück.

 

setValue(index)

Legt den Inhalt der Textbox fest.

 

 

Funktionen für Auswahlliste-n:m-Attribute

Zugriff auf die die Attribute über rimacon._userform.<elementname>.<nm-attrbut>(index).

 

addOption(row_index,value,text)

Fügt eine neue Option hinzu.

 

removeAllOptions(row_index)

Löscht alle Optionen.

 

getDOMObject(row_index)

Gibt das Javascript-DOM-Objekt zurück.

 

getValue(row_index)

Wert der ausgewählten Option.

 

setValue(row_index)

Zeigt die Option mit dem angegebenen Wert.

 

Maske Erweiterte Einstellungen

Reiter allgemein

zugeord. Objekte immer anzeigen (unabhängig von dem Filter)

Wenn aktiv, wird sichergestellt, dass die schon zugeordneten Objekte nicht rausgefiltert werden.

 

zugeord. Objekte zuerst anzeigen

Wenn aktiv, werden in der Liste zuerst alle zugeordneten Objekte angezeigt und danach die restlichen Objekte (sinnvoll, wenn viele Objekte erwartet werden).

 

n:m-Attribute immer anzeigen

Gibt an, ob die zusätzlichen n:m-Attribute angezeigt werden.

 

Die Liste bei Initiierung nicht anzeigen

Wenn aktiv, muss die Liste über Funktion refresh() generiert werden.

 

Listenmenü benutzen

Listenmenü ermöglicht einige Listenaktionen.

 

neue Objekte dürfen erstellt werden

Wenn aktiv, besteht die Möglichkeit, neue Objekte direkt aus der Liste zu erstellen.

 

Floating table headers benutzen

siehe auch Floating table headers benutzen

 

Parameter

siehe auch Parameter

 

Reiter SQL-Filter

Ermöglicht, die Liste über SQL einzuschränken.

 

Reiter Zeilenicons

Icon Details anzeigen

Gibt an, ob die Objekte ein Icon für Details haben sollen.

 

Icon für Kontextmenü anzeigen

Gibt an, ob die Objekte ein Icon für Kontextmenü haben sollen.

 

Benutzerdefinierte Zeilenicons

Hier werden zusätzliche Icons für Zeilen konfiguriert. Für jedes Icon wird ein Schlüssel vergeben und bei Anklicken wird im Ereignis onRowIconClick diese Icon über den Schlüssel identifiziert.

 

Reiter Eigene Sortierung

Wenn die Checkbox „Eigene Sortierung“ angekreuzt ist, definieren Sie über SQL die gewünschte Sortierung.

Dies ist besonders sinnvoll, wenn die Sortierung über die Listenkonfiguration nicht ausreichend ist oder wenn die Sortierung von dem gerade bearbeiteten Objekt (ID = $_ObjID) anhängig ist.

 

Reiter Eigene Spaltenkonfiguration

Hier können die Spalten benutzerdefiniert konfiguriert werden.

 

Wenn die Option “eigene Spaltenkonfiguration“ nicht aktiv ist, werden die Spalten und ihre Reihenfolge automatisch generiert:

1.Spalte mit Checkboxen

2.Spalte mit Icons

3.Spalten aus der Listenkonfiguration

4.n:m-Attribute / eine Spalte pro Attribut

 

Wenn die Option “eigene Spaltenkonfiguration“ aktiv ist, werden die Spalten und ihre Reihenfolge manuell konfiguriert.

 

Es stehen folgende Spalten zur Auswahl:

1.Spalte „Checkbox“

2.Spalte „Icons“

3.m-Tabellenspalte: Spalten aus der Listenkonfiguration

4.n:m-Attribut

5.benutzerdefinierte Spalte

 

Dies ermöglicht z.B.

-nur die im Kontext wichtigen und nicht alle n:m-Attribute bei der Zuordnung zu bearbeiten

-weniger wichtige m-Tabellenspalten mehr nach rechts zu positionieren und wichtige n:m-Attribute mehr nach links zu positionieren.

-in den benutzerdefinierten Spalten den Inhalt dynamisch über ein SQL-Script zu definieren

 

Benutzerdefinierte Spalte konfigurieren

 

Überschrift

Text, der in der Kopfzeile erscheint.

 

HTML-Direkt

Wenn aktiv, werden die Zeichen <,>," und & nicht in &lt;, &gt;, &quot; und &amp; umgewandelt.

 

Ausrichtung

Ausrichtung in der Zelle.

 

SQL

Über dieses SQL-Script wird der Inhalt für die Spalte generiert. Das Ergebnis muss ein Recordset sein, wobei die erste Spalte die Primärschlüssel-ID der zugeordneten M-Tabelle enthält und die zweite Spalte den angezeigten Inhalt enthält.

 

Beispiel: Bei Zuordnung von Mitarbeitern (Tabelle ANW) den Mitarbeiternamen und Vornamen in einer Spalte anzeigen:

select ANW_ID, ANW_Name2 + ' ' + ANW_Name1 from ANW

 

Standardwert

Standardwert wird genutzt, wenn das SQL-Script für das zugeordnete Objekt (M-Tabelle) keinen Inhalt zurückgibt.

 

Mehrere Werte trennen durch

Wenn das SQL-Script mehrere Werte für eine Primärschlüssel-ID zurückgibt, werden die Werte verkettet und mit dieser Zeichenfolge getrennt.

 

Beispiel: Bei Zuordnung von Mitarbeitern (Tabelle ANW) werden alle Mitarbeiterrollen (Tabellen ROL und ANWROL)  untereinander angezeigt und für Mitarbeiter ohne Rollen wird in roter Schriftfarbe „(keine)“ angezeigt:

 

HTML-Direkt:        [x]

 

Ausrichtung:        left

 

SQL

select ANWROL_ANW_ID, dbo.fnc_htmlspecialchars(ROL_NAME) from ANWROL

inner join ROL on ROL_ID=ANWROL_ROL_ID

 

Standardwert        <span style='color:red'>(keine)</span>

 

Mehrere Werte trennen durch:  <br>

 

 

 

Ergebnis:

Vollname

Rollen

***************

(keine)

***************

Programmierer

Projektleiter

Admin

***************

(keine)

***************

Change-Manager

***************

(keine)

***************

(keine)

***************

Admin

Datenbank-Administrator