Codeblock Onlinehilfe

TBeAttribCombo

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,

Weitere Verknüpfungen