TBeAltGrid
TBeAltGrid
Control zum Anzeigen der Datensätze einer Datenbank-Tabelle oder einer Memory-Table.
Eigenschaften | |
---|---|
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 |
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. |
DataSource:O | Standard Datenquelle für die Anzeige im Grid |
DbRelList:O | Datenbank-Relationen |
DeleteLock:L | (default) |
InsertLock:L | (default) |
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 |
GridOrder:C | Sortierung der Browser-Spalten |
ID:C | Identifiziert die Browser-Definitionen |
ReadWriteProps:N | 0 = Browser-Definitionen laden |
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 |
UnRegisterDataset:O | Entfernt die Registrierung für das zugewiesene DataSet (falls vorhanden) |
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 |
ToggleBooleanOptions:L | Gibt an ob logische Felder im Browser per Mausklick umgeschalten werden können |
CbChangeOrder:L | Sortierung per Spalten-Klick (nur wenn das DataSet eine Memtable oder Query ist) |
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. |
UseOnlyRegisteredDataSets:L | Bei True werden nur noch Tabellen berücksichtigt die dem DataSource des Grids zugewiesen ist oder per RegisterDataset im Grid registriert wurden. |
Funktionen und Methoden | |
---|---|
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