Zeilenauswahl dynamisch geladener Zeilen
Um Zeilen in einem Strukturraster zu erweitern und auszuwählen, die noch nicht auf den Client geladen wurden, stellen Sie eine Infotable mit mindestens einer ID-Spalte bereit. Diese wird durch die Eigenschaft IDFieldName angegeben, die den vollständig qualifizierten Pfad der Zeilen-IDs zur ausgewählten Zeile enthält. Standardmäßig wird die Zeichenkombination :; als Pfadtrennzeichen verwendet. Sie können dies jedoch ändern, indem Sie die Eigenschaft IDPathSeparator im Mashup Builder oder in der JSON-Konfigurationsdatei festlegen.
Um z.B. eine Zeile mit der ID ddd auszuwählen, erstellen Sie eine Infotable mit einer Spalte mit folgendem ID-Wert:
//aaa:;bbb:;ccc:;ddd.
Wenn das Strukturraster eine Ausgabe-Infotable für ausgewählte Zeilen mit vollqualifizierten ID-Pfaden generieren soll, legen Sie die Eigenschaft IncludeRowExpansionParents als wahr fest. Andernfalls verwendet es nur die einzelne Blatt-ID. Wenn die Infotable für ausgewählte Zeilen an das Raster gesendet wird und eine aufgelistete Zeile noch nicht vom Raster geladen wurde, generiert das Strukturraster automatisch eine Anforderung an den gebundenen Datendienst. Wenn die Eigenschaft IncludeRowExpansionParents festgelegt ist, werden die folgenden Parameter eingeschlossen:
{id: 'aaa', leafId: 'ddd', maxLevels: 25}
Das Raster fordert alle Zeilen von ID aaa für den Blattknoten ddd an, um den erweiterten Pfad zur Zeile mit ID ddd vollständig zu erstellen.
Fügen Sie in der JSON-Konfiguration Folgendes hinzu:
"treeSettings":
{ // Required for Tree Grid.
“IncludeRowExpansionParents”:true, //{boolean} Fetch parent rows of expanded or selected rows that are not pre-loaded.
"IDPathSeparator": ':;' // {string} The ID path separator that is used in ID paths for the selection of non-loaded rows.
}
Weitere Informationen zu den Einstellungen finden Sie im RowSelection-Beispiel in der GridAdvancedExampleEntities-V4.0.xml. In diesem Beispiel binden wir eine Infotable mit vollständiger Pfad-Zeilenauswahl vom linken Raster an das rechte Strukturraster. Daher muss das linke Raster eine ausgewählte Zeilen-Infotable mit vollständig qualifizierten Pfaden und nicht nur die Blatt-ID generieren. Hierzu müssen Sie die Eigenschaft IncludeRowExpansionParents festlegen. Oder Sie können einen Dienst erstellen, der eine Infotable mit vollständig qualifizierten Pfaden zu den Zeilen generiert, die Sie auswählen möchten. Das Pfad-Trennzeichen kann durch die Eigenschaft IDPathSeparator konfiguriert werden. Standardmäßig wird :; verwendet, aber Sie können dies ändern. Im Beispiel für die Zeilenauswahl müssen Sie die Einstellung in beiden Baumrastern so ändern, dass sie übereinstimmt.