TBeAttribCombo
Erweiterte TBeCombo Klasse für die Verwendung von Merkmalstabellen ohne Bindung an eine Datenbank.
Eigenschaften
|
Eigenschaft |
Beschreibung |
|---|---|
|
Align:N |
|
|
AlignWithMargins:L |
|
|
AllowClearKey:L |
|
|
AllowSetItemIndexByText:L |
|
|
Anchors:N |
|
|
AutoDropDown:L |
|
|
AutoFillDate:L |
|
|
AutoSelect:L |
|
|
AutoSize:L |
|
|
BeAttributeID:N |
ID der zu verwendenden Merkmalstabelle |
|
BevelEdges:N |
|
|
BevelInner:N |
|
|
BevelKind:N |
|
|
BevelOuter:N |
|
|
BiDiMode:N |
|
|
BorderStyle:N |
|
|
ButtonEffects:O |
|
|
ButtonGlyph:O |
|
|
ButtonStyle:N |
|
|
ButtonWidth:N |
|
|
CharCase:N |
|
|
Color:N |
|
|
Column1Width:N |
|
|
Constraints:O |
|
|
Controller:O |
|
|
Ctl3D:L |
|
|
Cursor:N |
|
|
CustomHint:O |
|
|
DataField:C |
|
|
DataSource:O |
|
|
DefaultColor:N |
|
|
DisableDropDownList:L |
|
|
DisableThemes:L |
|
|
DoubleBuffered:L |
|
|
DragCursor:N |
|
|
DragMode:N |
|
|
DropDownCount:N |
|
|
DropDownWidth:N |
|
|
Enabled:L |
|
|
FocusColor:N |
|
|
Font:O |
|
|
Frame:O |
|
|
Height:N |
|
|
HelpContext:N |
|
|
HelpKeyword:C |
|
|
HelpType:N |
|
|
Hint:C |
|
|
HistoryList:O |
|
|
ImeMode:N |
|
|
ImeName:C |
|
|
ItemHeight:N |
|
|
ItemIndex:N |
|
|
Items:O |
|
|
LabelAssigned:L |
|
|
LabelControl:O |
|
|
Left:N |
|
|
LimitEditRect:L |
|
|
MapList:L |
|
|
Margins:O |
|
|
MaxLength:N |
|
|
Name:C |
|
|
NoAutoPopUp:L |
|
|
NumbersOnly:L |
|
|
OEMConvert:L |
|
|
ParentBiDiMode:L |
|
|
ParentColor:L |
|
|
ParentCtl3D:L |
|
|
ParentCustomHint:L |
|
|
ParentDoubleBuffered:L |
|
|
ParentFont:L |
|
|
ParentShowHint:L |
|
|
Picture:O |
|
|
PopupMenu:O |
|
|
readonly:L |
|
|
ReadOnlyColor:N |
|
|
ReadOnlyStateFromField:L |
|
|
ShowAttribWin:L |
|
|
ShowButton:L |
|
|
ShowHint:L |
|
|
ShowMatchText:L |
|
|
Skin:O |
|
|
Sorted:L |
|
|
Style:N |
|
|
StyleElements:N |
|
|
StyleName:C |
|
|
TabOrder:N |
|
|
TabStop:L |
|
|
Tag:N |
|
|
Text:C |
|
|
TextHintProperties:O |
|
|
Top:N |
|
|
Touch:O |
|
|
TwoColumnDisplay:L |
|
|
UnboundAlignment:N |
|
|
UnboundDataType:N |
|
|
UseBackgroundColorFromAttribTable:L |
|
|
UseColorAsImage:L |
|
|
UseForegroundColorFromAttribTable:L |
|
|
UseImageIndexFromAttribTable:L |
|
|
UsePictureMask:L |
|
|
Value:C |
|
|
Visible:L |
|
|
WantReturns:L |
|
|
Width:N |
|
Beispiel
// demonstriert den Einsatz der Klassen TBeAttribCombo, TBeFieldAttribCombo, TBeCombo
// HINWEIS:
// Die im Beispiel "manuell" erzeugten Klassen können natürlich auch
// im Designer erstellt werden und die entsprechenden Eigenschaften dort gesetzt werden.
| oForm, oBeAttribCombo, oBeFieldAttribCombo, oMemTable, oMemField,
oDataSourceMem, oBeCombo, oDab010:DB:="waDAB010, DAB011", oDataSourceStd, oTextEdit |
function OnBeAttribComboChange( Sender )
oTextEdit.Text := 'Ohne Tabelle: '
+ oBeAttribCombo.Text + ' = ' + oBeAttribCombo.Value,
end,
function OnBeFieldAttribComboChange( Sender )
oTextEdit.Text := 'MemTable: '
+ oBeFieldAttribCombo.Text + ' = ' + oBeFieldAttribCombo.Value,
end,
function OnBeComboChange( Sender )
oTextEdit.Text := 'Artikelstamm [' + AllTrim(oDab010:ARTNR) + '] '
+ oBeCombo.Text + ' = ' + oBeCombo.Value,
end,
startseq
//***************************************************************************
// Beispiel-Formular erstellen
//***************************************************************************
oForm := CreateObject('TFormEx'),
oForm.OrigCapt := 'Merkmalstabellen im Codeblock',
oForm.Position := POSCREENCENTER,
oForm.Width := 400,
oForm.Height := 180,
//***************************************************************************
// Beispiel eines nicht datengebundenen Combo-Controls
//***************************************************************************
oBeAttribCombo := CreateObject('TBeAttribCombo', 'BeAttribCombo1', oForm, oForm),
oBeAttribCombo.Left := 10,
oBeAttribCombo.Top := 10,
oBeAttribCombo.Width := 360,
oBeAttribCombo.Height := 21,
oBeAttribCombo.UseColorAsImage := true,
// Merkmalstabelle wählen (Standard "RABAC - Evaluierungstypen")
oBeAttribCombo.BeAttributeID := 102079,
// der Initialwert kann vorgegeben werden !
oBeAttribCombo.Value := '1',
// Event zuweisen
AssignEvent(oBeAttribCombo, 'OnChange', 'OnBeAttribComboChange'),
//***************************************************************************
// Beispiel eines datengebundenen Combo-Controls auf einer MemTable (jede beliebige Tabelle denkbar)
//***************************************************************************
// Memtable erstellen
oMemTable := CreateObject('TMemCalcTable', 'MemTable1', oForm),
// Feld erstellen
oMemField := CollAdd( oMemTable.FieldsDefinition ),
oMemField.Name := 'PLATZ_VER',
oMemField.DataType := 1, // Character
oMemField.Size := 1,
oMemTable.Active := True,
// Datensatz anlegen mit 'Gebinde-Chargen'
dbappend(oMemTable),
oMemTable:PLATZ_VER := 'G',
// DataSource erstellen
oDataSourceMem := CreateObject('TDataSourceEx', 'DataSourceExMem1', oForm),
oDataSourceMem.DataSet := oMemTable,
// Combo-Control für Datenbank-Zugriff erstellen
oBeFieldAttribCombo := CreateObject('TBeFieldAttribCombo', 'BeFieldAttribCombo1', oForm, oForm),
oBeFieldAttribCombo.Left := 10,
oBeFieldAttribCombo.Top := 40,
oBeFieldAttribCombo.Width := 360,
oBeFieldAttribCombo.Height := 21,
oBeFieldAttribCombo.DataSource := oDataSourceMem,
oBeFieldAttribCombo.DataField := 'PLATZ_VER',
oBeFieldAttribCombo.BeAttributeID := 102023,
// Event zuweisen
AssignEvent(oBeFieldAttribCombo, 'OnChange', 'OnBeFieldAttribComboChange'),
AssignEvent(oBeFieldAttribCombo, 'OnExit', 'OnBeFieldAttribComboChange'),
//***************************************************************************
// Beispiel eines datengebundenen "Standard" Combo-Controls
//***************************************************************************
// DataSource erstellen
oDataSourceStd := CreateObject('TDataSourceEx', 'DataSourceExStd1', oForm, oForm),
oDataSourceStd.DataSet := oDab010,
DbGoBottom(oDab010),
// "Standard" Combo-Control erstellen
oBeCombo := CreateObject('TBeCombo', 'BeCombo1', oForm, oForm),
oBeCombo.Left := 10,
oBeCombo.Top := 70,
oBeCombo.Width := 360,
oBeCombo.Height := 21,
// durch die Zuweisung eines DataSources und eines DataFields, holt sich das BeCombo die MM-Tabelle von selbst
oBeCombo.DataSource := oDataSourceStd,
oBeCombo.DataField := 'PLATZ_VER',
// Event zuweisen
AssignEvent(oBeCombo, 'OnChange', 'OnBeComboChange'),
//***************************************************************************
// Ausgabe-Control - nur für den Test
//**************************************************************************<h3>
oTextEdit := CreateObject('TBeEdit', 'Edit1', oForm, oForm),
oTextEdit.Text := '',
oTextEdit.Left := 10,
oTextEdit.Top := 100,
oTextEdit.Width := 360,
oTextEdit.Height := 21,
oTextEdit.ReadOnly := True,
// Formular anzeigen
ShowModal(oForm),
// Formular zerstören
DestroyObject(oForm),
onerror,
writeln(GetErrorText()),
DestroyObject(oForm),
stopseq,