Gilt für:
- Winshuttle Foundation
Wiederholte Tabelle
Eine wiederholte Tabelle beinhaltet weitere Steuerungen in einem Tabellenformat. Benutzer können mehrere Zeilen beim Ausfüllen des Formulars einfügen.
Wenn Sie zum Beispiel ein Kaufantragsformular haben, müssen Sie unter Umständen nur eine einzelne Tabellenzeile auf dem Formular anzeigen (Postenbeschreibung, Menge, Preis, Zwischensumme). Aber wahrscheinlich sollte es dem Benutzer möglich sein, weitere Zeilen hinzuzufügen, während er das Formular ausfüllt.
Hinweis: Sie können wiederholte Tabellen auch ineinander „verschachteln“, indem Sie eine wiederholte Tabelle auf eine bestehende wiederholte Tabelle ziehen und dann die Spaltenanzahl für die verschachtelte Tabelle angeben, sowie die Spaltenanzahl, über die sich die verschachtelte Tabelle erstrecken soll (d. h. die Breite/Größe der verschachtelten Tabelle in der übergeordneten Tabelle).
Bitte sorgen Sie dafür, dass Folgendes erfüllt ist, wenn Sie mit wiederholten Gruppen oder wiederholten Tabellen arbeiten
Wenn Sie mit wiederholtenElementen jeglicher Art (d. h. wiederholte Gruppenund/oder wiederholte Tabellen) innerhalb eines Webdienstes (oder an anderer Stelle) arbeiten, sorgen Sie dafür, dass Folgendes erfüllt ist:
- Jedes Feld innerhalb eines Ordners mit wiederholten Inhalten innerhalb der Formulardatenstruktur befindet sich ebenfalls in dem Formular innerhalb eines wiederholten Containers.
- Alle nicht wiederholten Felder in der Formulardatenstruktur sind im Formular nicht wiederholt.
Die Nichtbeachtung der vorgenannten Leitlinien kann dazu führen, dass es beim Ausführen eines Webdienstes zu unbeabsichtigten Verhaltensweisen und Ergebnissen kommt, wenn Sie mit wiederholten Elementen arbeiten.
Hinzufügen einer wiederholten Tabelle zu einem Formular
- Klicken Sie im Arbeitsbereich die Gruppe an, zu der Sie eine Tabelle hinzufügen möchten.
- Klicken Sie im Bereich Eigenschaften auf die Registerkarte Elemente.
- Klicken Sie auf Containerelemente.
- Klicken Sie auf Wiederholte Tabelle.
- Geben Sie im Dialogfeld Neue wiederholte Tabelle die Anzahl an gewünschten Spalten ein und klicken Sie dann auf OK.
Tipp für das Abfragen einer SQL-Datenquelle: Groß- und Kleinschreibung sind zu beachten.
Wenn Sie eine SQL-Datenquelle abfragen und die Ergebnisse anschließend in eine auswählbare oder wiederholte Tabelle einfügen möchten, vergewissern Sie sich, dass die Groß- und Kleinschreibung Ihres Abfragetextes identisch ist mit den SQL-Spalten.
Wenn beispielsweise eine Spalte in der SQL-Datenbank „COLUMN_1“ heißt, funktioniert die Abfrage nicht, wenn sie nach „column_1“ abfragt.
Eigenschaften des Composer Elements „Wiederholte Gruppe“
Name: Die Tabellen-ID im Formular.
Schreibgeschützt: Aktiviert (True) oder deaktiviert (False) den Schreibschutz für die Gruppe.
Spaltenabschnitt: Die Spaltenanzahl, über die sich das Element erstrecken wird.
Kopfzeile anzeigen: Auf „True“ festlegen, um die Kopfzeile für die Spalte anzuzeigen.
Speicherort des neuen Elements: Der Speicherort von (+) Neues Element hinzufügen.
Suche aktivieren: Aktiviert oder deaktiviert ein Suchfeld für das Durchsuchen oder Filtern von Informationen in einer Tabelle.
- True: Aktiviert ein Suchfeld, in das der Formularbenutzer Such-/Filteroptionen eingeben kann.
- False: Blendet das Suchfeld aus.
Sortieren aktivieren
- True: Zeigt Sortierpfeile für die Felder in einer Tabelle an, durch die Benutzer Daten schnell sortieren können.
- False: Blendet die Sortierpfeile aus.
Excel-Vorgänge aktivieren: Wenn auf „True“ eingestellt, werden dem Formularbenutzer die zur Verfügung stehenden Excel-Vorgänge angezeigt (Exportieren und Zu Excel hochladen), damit Daten zu einer Excel-Datei auf dem lokalen Rechner des Formularbenutzers hochgeladen werden können.
- Export: Gibt den Inhalt einer wiederholten Tabelle oder Gruppe in eine Excel-Datei aus.
- Upload: Lädt die Daten in eine Excel-Datei hoch.
Excel-Uploadoptionen: Zeigt die folgenden zur Verfügung stehenden Uploadoptionen (als Optionsfeldselektoren) für den Formularbenutzer während der Laufzeit an:
- Ersetzen: Ersetzt alle Inhalte der Tabelle oder Gruppe.
- Aktualisieren: Aktualisiert jede Zeile/jedes Feld, wobei jede zusätzliche Zeile, die bereits in der Tabelle oder Gruppe vorhanden ist, erhalten bleibt.
- Anhängen: Erhält alle bestehenden Zeilen aufrecht und hängt den neuen Inhalt an das Ende der Tabelle oder Gruppe an.
Zeilenanzahl bei Excel-Upload erzwingen: (True/False): Wenn auf True festgelegt, überprüft diese Option, ob die hochgeladene Datei dieselbe Anzahl an Zeilen wie die wiederholte Tabelle beinhaltet. Sollte die Anzahl nicht übereinstimmen, wird der Excel-Upload abgelehnt. Dies kann verwendet werden, um zu vermeiden, dass neue Zeilen der wiederholten Tabelle hinzugefügt oder von ihr gelöscht werden, wenn sie zu Excel hochgeladen wird.
Validierungsergebnisse aktivieren: Zeigt dem Benutzer die Verknüpfung Validierung an. Durch Klicken auf „Validierung“ wird die Anzahl der in der wiederholten Tabelle/Gruppe gefundenen Validierungsfehler angezeigt. Dies wird typischerweise mit der Eigenschaft Inhalt paginieren (siehe unten) angewendet, um Validierungsfehler in großen Tabellen zu finden.
Standardzeilenzahl: Die Anzahl an leeren Zeilen, die erstellt werden, wenn das Formular geladen wird.
Zeilenzahl: Hiermit können Sie die Zeilenanzahl angeben, bevor der Inhalt paginiert wird.
Inhalt paginieren: Wenn auf „True“ festgelegt, wird der Tabelleninhalt auf einer einzelnen Seite angezeigt. Wenn auf „False“ festgelegt, wird der Inhalt gemäß der Einstellung Zeilenzahl paginiert.
Zeilennummernfeld: Wählen Sie ein Feld, das als die Zeilenzahl für die Tabelle verwendet wird.
Zeilenoptionensymbol: (Links oder rechts) -- Stelle, an der das Zeilenoptionssymbol in einer auswählbaren Tabelle platziert wird (siehe unten).
Gruppenstile
- Rahmenbreite: Der Breite des Rahmens um die Gruppe in Pixeln.
- Rahmenstil: Der Stil des Rahmens: gestrichelt, gepunktet, durchgezogen usw.
- Rahmenfarbe: Die Farbe des Rahmens.
- Tabellenbreite: Die Breite (in Pixeln) für eine Tabelle. Der Standardwert (0) ermöglicht, dass die Größe der Tabelle dynamisch mit dem Browser verändert wird (reaktionsfähiges Design).
Erweiterte Optionen
Schlüsselspalte für Zusammenführung
Dieses Dropdownmenü beinhaltet eine Liste mit allen Feldern in der wiederholten Tabelle/Gruppe. Durch das Festlegen dieses „Schlüssels“ vollzieht die Tabelle jedes Mal eine Zusammenführung, wenn die Tabellendaten aktualisiert werden. Es werden aber nur die Felder aktualisiert, die tatsächlich durch den Benutzer aktualisiert werden.
Der Wert des Schlüssels sollte der Name einer der Tabellenspalten sein. Jede Zeile muss einen eindeutigen Schlüsselwert besitzen. Der Schlüsselwert zeigt an, in welcher Spalte sich der Schlüssel befindet (zum Beispiel my:partnumber).
Nutzdaten-Speicherart
Diese Idee hinter dieser Eigenschaft ist es, den wiederholten Inhalt außerhalb der Formular-XML zu speichern. Wenn Sie in einer Umgebung arbeiten, in der ein externer Speicher konfiguriert wurde, um einen Teil Ihrer Formulardaten auszulagern, erlauben es Ihnen die Werte in diesem Dropdownmenü anzugeben, welcher Speicher verwendet werden soll. (Dies muss durch Ihren Winshuttle Workflow Administrator konfiguriert werden.)
Wenn das Formular geladen ist, wird die Formular-XML mit dem „Speicher“-Inhalt befüllt, sodass sie während der Laufzeit identisch aussieht. Wird diese Eigenschaft auf „Standard“ festgelegt, kann die globale Serverkonfigurationseigenschaft „PayloadStoreType“ anzeigen, welcher Speicher verwendet werden soll, wenn der wiederholte Inhalt gespeichert wird.
Einstellungen von „PayloadStoreType“
1 Anhangspeicher
Dies ist der Standardspeicher, wenn „PayloadStoreType“ nicht angegeben ist. Die externen Tabellen werden als Anhänge am Listenelement gespeichert.
2 Dateispeicher
Die externen Tabellen werden auf einem Netzwerk-Dateisystem gespeichert. Verwenden Sie den globalen Konfigurationswert „FileSystemPayloadStoreFolder“, um einen UNC-Pfad zum Dateisystem anzugeben. Sie können außerdem „_<ListName>“ anhängen, um listenspezifische Einstellungen zu erstellen (z. B. „FileSystemPayloadStoreFolder_MyTestForm“). Das SVAdmin-Konto muss Schreib- und Lesezugriff auf diesen Ordner haben.
3 Datenbank-Blob-Speicher
Die externen Tabellen werden als Blobs in einer SQL-Datenbank gespeichert. Verwenden Sie das folgende Skript, um die nötige Tabelle und Indizes zu erstellen:
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[Payloads]( [PayLoadID] [uniqueidentifier] NOT NULL, [WebGuid] [uniqueidentifier] NOT NULL, [ListGuid] [uniqueidentifier] NOT NULL, [ItemID] [int] NOT NULL, [Binding] [nvarchar](50) NOT NULL, [Payload] [nvarchar](max) NOT NULL, [LastUpdate] [datetime] NOT NULL, CONSTRAINT [PK_Payloads] PRIMARY KEY CLUSTERED ( [PayLoadID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO ALTER TABLE [dbo].[Payloads] ADD CONSTRAINT [DF_Payloads_PayLoadID] DEFAULT (newid()) FOR [PayLoadID] GO ALTER TABLE [dbo].[Payloads] ADD CONSTRAINT [DF_Payloads_LastUpdate] DEFAULT (getdate()) FOR [LastUpdate] GO CREATE NONCLUSTERED INDEX [IX_Payloads] ON [dbo].[Payloads] ( [WebGuid] ASC, [ListGuid] ASC, [ItemID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] GO
Die Tabelle kann zur Workflow Datenbank oder zu einer anderen Datenbank hinzugefügt werden. Im letzteren Fall können Sie eine Verbindungszeichenfolge mit dem globalen Konfigurationswert „SqlConnectionPayloadStore“ angeben. Sie können außerdem „_<ListName>“ anhängen, um listenspezifische Einstellungen zu erstellen.
4 Datenbanktabellen-Speicher
Die externen Tabellen werden zerlegt und als einzelne Datensätze in einer SQL-Datenbank gespeichert. Verwenden Sie das folgende Skript, um die nötige Tabelle und Indizes zu erstellen:
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[PayloadTables]( [Id] [uniqueidentifier] NOT NULL, [ParentId] [uniqueidentifier] NOT NULL, [Ordinal] [int] NOT NULL, [Binding] [nvarchar](50) NULL,> [Value] [nvarchar](100) NULL, [PayloadLockID] [int] NULL, CONSTRAINT [PK_PayloadTables] PRIMARY KEY CLUSTERED ( [Id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO CREATE NONCLUSTERED INDEX [IX_PayloadTables] ON [dbo].[PayloadTables] ( [ParentId] ASC, [Ordinal] ASC, [Binding] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] GO
Die Tabelle kann zur Workflow Datenbank oder zu einer anderen Datenbank hinzugefügt werden. Im letzteren Fall können Sie eine Verbindungszeichenfolge mit dem globalen Konfigurationswert „SqlConnectionFormXmlDB“ angeben. Sie können außerdem „_<ListName>“ anhängen, um listenspezifische Einstellungen zu erstellen (z. B. „PayloadStoreType_MyTestForm“).