TBeAltGrid
Control zum Anzeigen der Datensätze einer Datenbank-Tabelle oder einer Memory-Table.
Eigenschaften
|
Eigenschaft |
Beschreibung |
|---|---|
|
Align:N |
|
|
AlignWithMargins:L |
|
|
AltColors:O |
|
|
AltOptions:N |
|
|
Anchors:N |
|
|
AutoCalcSum:L |
(default) True = Summen-Funktion ausführen und in der Fuß-Zeile (falls vorhanden) anzeigen |
|
AutoRefreshTime:N |
Gibt das Aktualisierungs-Intervall (in Sekunden) des Browsers an, 0 = keine Aktualisierung |
|
BiDiMode:N |
|
|
BorderStyle:N |
|
|
CbChangeOrder:L |
Sortierung per Spalten-Klick (nur wenn das DataSet eine Memtable oder Query ist) |
|
CbDbAltGridExHelper:O |
|
|
CbPrimarySortField:C |
Hier kann ein Name eines Feldes angegeben werden, das immer bei der Sortierung über einen Spalten-Klick berücksichtigt werden soll. Dieses Feld beeinflusst auch das OrderBy von MemTables und Querys die dem TBeAltGrid zugewiesen wurden. |
|
ClickCoord:N |
|
|
Color:N |
|
|
Columns:O |
Eine Liste mit Elementen vom Typ *TBeColumn*. Über die Funktion*CollAdd(...)* ist es möglich im Codeblock Browser-Spalten der Liste hinzuzufügen. |
|
Constraints:O |
|
|
Ctl3D:L |
|
|
Cursor:N |
|
|
CustomHint:O |
|
|
DataModule:O |
|
|
DataSource:O |
Standard Datenquelle für die Anzeige im Grid |
|
DbRelList:O |
Datenbank-Relationen |
|
DefaultDrawing:L |
|
|
DeleteLock:L |
(default) False = Browser akzeptiert keine Eingabe von [Entf] der Tastatur True = Aktueller Datensatz kann gelöscht werden |
|
DragCursor:N |
|
|
DragKind:N |
|
|
DragMode:N |
|
|
Enabled:L |
|
|
ExecLoaded:L |
(writeonly) Initialisiert Popup-Menü und Image-List |
|
ExecRefreshSortMarks:L |
Aktualisiert die Sortierung der Browser-Spalten abhängig von der aktuellen Sortierung der Datenquelle |
|
FixedColor:N |
|
|
Font:O |
|
|
ForceTitleOptions:L |
|
|
GridOrder:C |
Sortierung der Browser-Spalten |
|
GridProp:O |
|
|
Height:N |
|
|
HelpContext:N |
|
|
HelpKeyword:C |
|
|
HelpType:N |
|
|
Hint:C |
|
|
ID:C |
Identifiziert die Browser-Definitionen Hinweis: Es können während der Laufzeit auch andere vordefinierte Browser-Definitionen geladen werden, indem man die gewünschte ID setzt und anschließend die Browser-Definitionen durch setzen der Eigenschaft *ReadWriteProps* auf 0 neu lädt. |
|
Images:O |
|
|
ImeMode:N |
|
|
ImeName:C |
|
|
InsertLock:L |
(default) False = Browser akzeptiert keine Eingabe von [Einfg] der Tastatur True = Ein Datensatz kann hinzugefügt werden |
|
KeepPositionAfterOrderChanged:L |
|
|
Left:N |
|
|
Margins:O |
|
|
Name:C |
|
|
NoAutoPopUp:L |
|
|
Options:N |
|
|
ParentBiDiMode:L |
|
|
ParentColor:L |
|
|
ParentCtl3D:L |
|
|
ParentCustomHint:L |
|
|
ParentFont:L |
|
|
ParentShowHint:L |
|
|
PopupMenu:O |
|
|
ReadOnly:L |
|
|
ReadWriteProps:N |
0 = Browser-Definitionen laden 1 = Aktuelle Browser-Definitionen in die DabFIL speichern Hinweis: Vor dem Setzten dieser Eigenschaft muss die ID der Browser Definitionen gesetzt werden und das registrierte Dataset auf *Active* gesetzt werden, da dieser sonst keine Spalten anzeigt und auch keine Einstellungen vorgenommen werden können. |
|
RecalcSum:L |
(readonly) Berechnet Summen-Codeblöcke neu |
|
Refreshing:L |
(readonly) Gibt an, ob sich das Grid im Refresh-Zustand befindet |
|
RegisterDataset:O |
Registriert das zugewiesene DataSet |
|
RegisteredDataSetInfoList:O |
|
|
RowColor:N |
|
|
RowColorBlock:O |
|
|
SelectedField:O |
Bestimmt das aktuell ausgewählte Feld |
|
SelectedIndex:N |
Index der aktuell ausgewählten Spalte |
|
ShowEditMenus:N |
Bestimmt ob im Kontextmenü die Einträge "Neu" und "Löschen" angezeigt werden 0 = Kein Eintrag 1 = Eintrag "Neu" 2 = Eintrag "Löschen" 3 = Beide Einträge |
|
ShowHint:L |
|
|
ShowThumbTrackHint:L |
|
|
TabOrder:N |
|
|
TabStop:L |
|
|
Tag:N |
|
|
TitleFont:O |
|
|
ToggleBooleanOptions:N |
Gibt an ob logische Felder im Browser per Mausklick umgeschalten werden können |
|
Top:N |
|
|
TopBottomRowLinesOnly:L |
|
|
UnRegisterDataset:O |
Entfernt die Registrierung für das zugewiesene DataSet (falls vorhanden) |
|
UseOnlyRegisteredDataSets:L |
Bei True werden nur noch Tabellen berücksichtigt die dem DataSource des Grids zugewiesen ist oder per RegisterDataset im Grid registriert wurden. Erhöht die Performance bei der Anzeige des Grids. Default = False |
|
Visible:L |
|
|
Width:N |
|
Methoden
|
Methode |
Beschreibung |
|---|---|
|
CbRefreshDynamicCaption() |
Aktualisiert Spalten-Überschriften |
|
CbRefreshShowOnlyWhen() |
Aktualisiert anzuzeigende Browser-Spalten |
Beispiel
//##############################################################################
//##############################################################################
// Online-Hilfe Beispiel für die Klasse 'TBeAltGrid'
//##############################################################################
//##############################################################################
| oForm, oGrid, oPanel, oInfoPanel, oEditOutput, oButton, oDS, oQuery |
//##############################################################################
//##############################################################################
// Funktionen
//##############################################################################
//##############################################################################
//******************************************************************************
// Gibt den Wert der übergebenen Eigenschaft zurück.
// Ist die Eigenschaft ein Objekt wird nur der Klassenname zurückgegeben
// @Result: string
//******************************************************************************
function GetValStr(o)
if IsObject(o) then
Result := '[Object] ' + iif(o <> nil, ClassName(o), '<NIL>'),
else
Result := '[Value ] ' + ArrToStr({o}),
endif,
end,
//##############################################################################
//##############################################################################
// Eventhandler
//##############################################################################
//##############################################################################
//******************************************************************************
// Zeigt eine Liste der wichtigen Grid-Eigenschaften an
// @Result: null
//******************************************************************************
function QueryProperties(Sender)
startseq,
oEditOutput.Text := 'Columns: ' + GetValStr(oGrid.Columns) + crlf +
'DataSource: ' + GetValStr(oGrid.DataSource) + crlf +
'DbRelList: ' + GetValStr(oGrid.DbRelList) + crlf +
'DataModule: ' + GetValStr(oGrid.DataModule) + crlf +
'ShowEditMenus: ' + GetValStr(oGrid.ShowEditMenus) + crlf +
'AutoRefreshTime: ' + GetValStr(oGrid.AutoRefreshTime) + crlf +
'Refreshing: ' + GetValStr(oGrid.Refreshing) + crlf +
'GridProp: ' + GetValStr(oGrid.GridProp) + crlf +
'RowColorBlock: ' + GetValStr(oGrid.RowColorBlock) + crlf +
'DeleteLock: ' + GetValStr(oGrid.DeleteLock) + crlf +
'InsertLock: ' + GetValStr(oGrid.InsertLock) + crlf +
'ExecLoaded: ' + GetValStr(oGrid.ExecLoaded) + crlf +
'RegisterDataset: ' + GetValStr(oGrid.RegisterDataset) + crlf +
'UnRegisterDataset: ' + GetValStr(oGrid.UnRegisterDataset) + crlf +
'ExecRefreshSortMarks: ' + GetValStr(oGrid.ExecRefreshSortMarks) + crlf +
'SelectedField: ' + GetValStr(oGrid.SelectedField) + crlf +
'SelectedIndex: ' + GetValStr(oGrid.SelectedIndex) + crlf +
'AutoCalcSum: ' + GetValStr(oGrid.AutoCalcSum) + crlf +
'RecalcSum: ' + GetValStr(oGrid.RecalcSum) + crlf +
'ToggleBooleanOptions: ' + GetValStr(oGrid.ToggleBooleanOptions) + crlf +
'GridOrder: ' + GetValStr(oGrid.GridOrder) + crlf +
'CbChangeOrder: ' + GetValStr(oGrid.CbChangeOrder) + crlf +
'ID: ' + GetValStr(oGrid.ID) + crlf +
'',
onerror,
Meld(GetErrorText()),
stopseq,
end,
//##############################################################################
//##############################################################################
// Oberflächen-Funktionen
//##############################################################################
//##############################################################################
//******************************************************************************
// InitForm lädt das Formular in Abhängigkeit des Owners
// @Result: null
//******************************************************************************
function InitGui()
oForm := CreateObject('TFormEx', 'GridTestForm'),
oForm.Width := 800,
oForm.Height := 600,
oQuery := CreateObject('TBeAdsQuery', 'Query', oForm),
oQuery.SQL := 'SELECT TOP 100 * FROM "DAB065.ADT"',
oQuery.Active := True,
oDS := CreateObject('TDataSourceEx', 'DataSource', oForm),
oDS.DataSet := oQuery,
oPanel := CreateObject('TPanel', 'PanelLeft', oForm, oForm),
oPanel.Width := 400,
oPanel.Align := alRight,
oPanel.Caption := '',
oPanel.BevelOuter := bvNone,
oInfoPanel := CreateObject('TBeInfoPanel', 'InfoPanel', oForm, oPanel),
oInfoPanel.Align := alTop,
oInfoPanel.Caption := 'Eigenschaften / Werte des Grids',
oEditOutput := CreateObject('TBeEdit', 'EditOutput', oForm, oPanel),
oEditOutput.Align := alClient,
oEditOutput.AlignWithMargins := True,
oEditOutput.Margins.Top := 0,
oEditOutput.Font.Name := 'Lucida Console',
oEditOutput.WantReturns := True,
oEditOutput.WordWrap := True,
oEditOutput.Text := '',
oButton := CreateOBject('TBeBitBtn', 'Button', oForm, oPanel),
oButton.Align := alBottom,
oButton.AlignWithMargins := True,
oButton.Margins.Top := 0,
oButton.Caption := 'Auswerten',
oButton.ImageIndex.IndexNormal := 148,
AssignEvent(oButton, 'OnClick', 'QueryProperties'),
oGrid := CreateObject('TBeAltGrid', 'GridMain', oForm, oForm),
oGrid.Align := alClient,
oGrid.CbChangeOrder := True, // Sortierung per Spalten-Klick aktivieren
oGrid.DataSource := oDS,
oGrid.RegisterDataset := oQuery,
oGrid.ExecLoaded := True, // Damit im Kontextmenü Icons angezeigt werden
oGrid.Id := '@BRO_TES',
oGrid.ReadWriteProps := 0, // Browser-Definitionen laden
end,
//##############################################################################
//##############################################################################
// Hauptprogramm
//##############################################################################
//##############################################################################
startseq
InitGui(),
ShowModal(oForm),
onerror
MessageDlg(GetErrorText()),
DestroyObject(oForm),
stopseq,
oForm