Zweck
Datensatzgruppen, mit deren Hilfe die Datensätze im bBrowser gruppiert werden.
Klasse
Typ
Access
Datentyp
Beschreibung
Mit der Definition von Datensatzgruppen können die Datensätze im bBrowser gruppiert angezeigt werden. Voraussetzung ist, dass die Datensätze nach dem Gruppenmerkmal sortiert sind. Die Datensätze werden beim Durchlaufen des Datenserver automatisch den definierten Datensatzgruppen zugeordnet.
Die Datensatzgruppen können in der Datensatzgruppenspalte mit der Maus geöffnet und geschlossen werden. Zusätzlich können Datensatzgruppen mit der Tastenkombination STRG + '+' geöffnet und mit der Tastenkombination STRG + '-' geschlossen werden.
bBrowser mit Datensatzgruppen
Die Datensatzgruppenspalte wird automatisch eingeblendet, wenn Datensatzgruppen definiert sind. Innerhalb der Datensatzgruppenspalte kann für jede definierte Ebene (bRecordGroupLevel) ein Info-Wert eingeblendet werden. Der Info-Wert kann mit dem Zugriff bRecordGroupLevel:GroupInfo definiert werden.
bBrowser mit Datensatzgruppen und Info-Werten
Wenn der Datenserver keine Datensätze für Gruppenköpfe enthält, dann können virtuelle Gruppenkopfzeilen mit dem Zugriff bRecordGroupLevel:GroupHeader definiert werden. Eine virtuelle Gruppenkopfzeile erstreckt sich über die gesamte Breite einer Datenzeile. Mit Hilfe der Option BRGHO_SCROLLHORIZONTAL kann die Gruppenkopfzeile so eingestellt werden, dass diese beim horizontalen Scrollen ebenfalls gescrollt wird. Als Vorgabe wird die Gruppenkopfzeile horizontal nicht mit gescrollt.
bBrowser mit Datensatzgruppen und virtuellen Gruppenkopfzeilen
Anmerkungen
Nachdem Datensatzgruppen im bBrowser definiert wurden, muss die Methode bBrowser:Recalculate() aufgerufen werden. Sofern dem bBrowser bereits ein Datenserver zugewiesen ist, muss zusätzlich noch die Methode bBrowser:Refresh() aufgerufen werden.
Beispiele
In dem folgenden Beispiel wird eine Datensatzgruppe definiert, mit der die Nachnamen (Feld LASTNAME) alphabetisch nach dem ersten Buchstaben gruppiert werden. Vorausgesetzt wird, dass der bBrowser bereits initialisiert ist und im Datenserver eine Sortierung auf das Feld LASTNAME aktiv ist.
LOCAL oBrowser AS bBrowser
LOCAL oRecordGroupLevel AS bRecordGroupLevel
LOCAL cGroupKey AS STRING
LOCAL ocbGroupHeader AS bCodeblock
LOCAL oGroupHeader AS bRecordGroupHeader
LOCAL oFont AS Font
LOCAL oGrid AS bGrid
// Datensatzgruppierung initialisieren
oBrowser:RecordGroup:LevelList:Clear()
// Datensatzgruppierung: Level 1 initialisieren
cGroupKey := "SubStr(Server:LASTNAME, 1, 1)"
oRecordGroupLevel := bRecordGroupLevel{bCodeblock{cGroupKey, oBrowser:Server},;
,;
NIL,;
_Or(BRGLO_AUTOOPEN, BRGLO_GROUPLEASH, BRGLO_SERVERSEEK)}
oRecordGroupLevel:GroupRowHeight := 24
ocbGroupHeader := bCodeblock{"'Nachname ' + SubStr(Server:LASTNAME, 1, 1)",;
oBrowser:Server}
oGroupHeader := bRecordGroupHeader{ocbGroupHeader}
oRecordGroupLevel:GroupHeader := oGroupHeader
oGrid := bGrid{BGRID_OUTLINEHORIZONTAL, , , , , Color{COLORBLACK}}
oFont := self:oDCBrowser:GetDefaultFont()
oFont:Bold := True
oRecordGroupLevel:GroupView := bViewStyle{ ,;
,;
BALIGN_LEFT + BALIGN_BOTTOM,;
oFont,;
oGrid}
self:oDCBrowser:RecordGroup:LevelList:Add(oRecordGroupLevel)
// Datensatzgruppierung: Browser neu berechnen und Daten einlesen,
// damit die Levels berücksichtigt werden
oBrowser:Recalculate()
oBrowser:Refresh()
Siehe auch
Page url: http://www.YOURSERVER.com/index.html?bbrowser_recordgroup.htm