Zweck
Erzeugt ein bDataColumn-Objekt.
Klasse
Typ
Methode
Syntax
bDataColumn{
<oOwner>,
<oServer>,
<uField> | <uExpression> | <uAccess> | <uAccessAssign>,
<symFieldMode>,
[<uArgument2>],
[<uArgument3>],
[<uArgument4>],
[<uArgument5>]
} Æ oDataColumn
Argumente
<oOwner> | Der Eigentümer der Datenspalte. Dies ist der bBrowser, in dem die Datenspalte angezeigt werden soll. |
Datentyp: | Object |
<oServer> | Der Datenserver, mit dem die Spalte verknüpft werden soll. Der Server wird beim Ermitteln der einzelnen Spaltenwerte verwendet. |
Datentyp: | Object |
<uField> | Ein Feld im Datenserver, mit dem die Spalte verknüpft werden soll. Das Feld kann entweder über den Feldnamen, den Feldsymbolnamen oder über dessen Feldposition im Datenserver angegeben werden. In Verbindung mit dem Datenserver, wird das Feld zum Ermitteln der einzelnen Spaltenwerte verwendet. Wenn der Datenserver nicht schreibgeschützt ist, wird die Eigenschaft bDataColumn:Editableautomatisch auf TRUE gesetzt. |
Datentyp: | Int | String | Symbol |
<uExpression> | Ein Ausdruck, mit dem die Spalte verknüpft werden soll. Wird der Ausdruck als String angegeben, wird dieser automatisch in ein _Codeblock-Objekt umgewandelt. Die Umwandlung erfolgt hierbei über den Befehl |
&("{|Server, Arg2, Arg3, Arg4, Arg5| "+uExpression+"}")
Die Argumente Arg2 bis Arg5 können über die Argumente uArgument2 bis uArgument5 definiert werden (siehe weiter unten).
In Verbindung mit dem Datenserver, wird der Ausdruck zum Ermitteln der einzelnen Spaltenwerte verwendet.
Datentyp: | String | _Codeblock | Codeblock |
<uAccess> | Ein Access im Datenserver, mit dem die Spalte verknüpft werden soll. Der Name des Access kann entweder als String oder als Symbol angegeben werden. In Verbindung mit dem Datenserver, wird der Access zum Ermitteln der einzelnen Spaltenwerte verwendet. |
Datentyp: | String | Symbol |
<uAccessAssign> | Ein Access und Assign im Datenserver, mit dem die Spalte verknüpft werden soll. Der Name des Access bzw. Assign kann entweder als String oder als Symbol angegeben werden. In Verbindung mit dem Datenserver, wird der Access zum Ermitteln der einzelnen Spaltenwerte verwendet. Wenn der Datenserver nicht schreibgeschützt ist, wird die Eigenschaft bDataColumn:Editable automatisch auf TRUE gesetzt. |
Datentyp: | String | Symbol |
<symFieldMode> | Ein Symbol-Wert, der definiert, ob im dritten Argument ein Feld, ein Ausdruck, ein Access oder ein Access und Assign angegeben ist. Es werden die folgenden Werte unterstützt: |
Wert |
Beschreibung |
#Field |
Das dritte Argument ist ein Feld im Server, entweder als Feldnummer oder als Feldname (String oder Symbol) angegeben. |
#Expression |
Das dritte Argument ist ein Ausdruck, entweder als String oder als _Codeblock-Objekt angegeben. |
#Access |
Das dritte Argument ist ein Access im Server, entweder als String oder als Symbol angegeben. |
#AccessAssign |
Das dritte Argument ist ein Access und Assign im Server, entweder als String oder als Symbol angegeben. |
Datentyp: | Symbol |
uArgument2 .. 5 | Argumente, die bei der Angabe eines Ausdrucks (<symFieldMode> =#Expression) als Argumente übergeben werden sollen. |
Datentyp: | Usual |
Rückgabewert
oDataColumn | Das erzeugte Objekt der Klasse bDataColumn. |
Datentyp: | bDataColumn |
Beschreibung
bDataColumn:Init() erzeugt ein neues Objekt der Klasse bDataColumn und initialisiert es.
Die Werte, die durch <uField>, <uExpression>, <uAccess> oder <uAccessAssign> zurückgegeben werden, können von den folgenden Datentypen sein:
Datentyp |
Bedeutung |
C |
String |
D |
Date |
L |
Logic |
M |
Memo |
N |
Byte, Short, Integer, Long, Word, DWord, Float, Real4, Real8 |
O |
Objekt
Bitmap und Icon-Objekte werden als Grafik dargestellt. |
Anmerkungen
Wenn die Datenspalte zu einem Ausdruck erzeugt wird (siehe Argument <uExpression>), dann besitzt die Datenspalte keinen Feldnamen (siehe bDataColumn:FieldName). Damit die Datenspalte zu einem späteren Zeitpunkt identifiziert werden kann, sollte ihr nach dem Erzeugen ein HyperLabel Objekt (siehe bDataColumn:HyperLabel) zugewiesen werden.
Beispiele
In dem folgenden Beispiel wird eine Datenspalte für das Feld FIRSTNAME in einem DBServer (CUSTOMER.DBF) erzeugt.
LOCAL odbsCUSTOMER AS DBServer
LOCAL oBrowser AS bBrowser
LOCAL oColumn AS bDataColumn
// DBServer erzeugen
odbsCUSTOMER := DBServer{"CUSTOMER"}
// Browser erzeugen
oBrowser := bBrowser{oOwner,;
1000,;
Point{0, 0},;
Dimension{300, 250}}
// DBServer im Browser setzen und anzeigen
// -> Durch das leere Array werden keine
// Datenspalten automatisch erzeugt
oBrowser:Use(odbsCUSTOMER, {})
oBrowser:Show()
// Datenspalte auf das Feld FIRSTNAME erzeugen
oColumn := bDataColumn{oBrowser,;
odbsCUSTOMER,;
#FIRSTNAME,;
#FIELD}
// Datenspalte dem Browser hinzufügen und öffnen
oBrowser:AddColumn(oColumn)
oBrowser:OpenColumn()
In dem folgenden Beispiel wird eine Datenspalte für einen Ausdruck erzeugt. Der Ausdruck wird als Codeblock definiert und ermittelt die RecNo im DBServer (CUSTOMER.DBF).
LOCAL odbsCUSTOMER AS DBServer
LOCAL oBrowser AS bBrowser
LOCAL oColumn AS bDataColumn
// DBServer erzeugen
odbsCUSTOMER := DBServer{"CUSTOMER"}
// Browser erzeugen
oBrowser := bBrowser{oOwner,;
1000,;
Point{0, 0},;
Dimension{300, 250}}
// DBServer im Browser setzen und anzeigen
// -> Durch das leere Array werden keine
// Datenspalten automatisch erzeugt
oBrowser:Use(odbsCUSTOMER, {})
oBrowser:Show()
// Datenspalte auf die RecNo erzeugen
oColumn := bDataColumn{oBrowser,;
odbsCUSTOMER,;
{|Server| Server:RecNo},;
#EXPRESSION}
oColumn:Hyperlabel := HyperLabel{#RecNo, "RecNo"}
// Datenspalte dem Browser hinzufügen und öffnen
oBrowser:AddColumn(oColumn)
oBrowser:OpenColumn()
In dem folgenden Beispiel wird eine Datenspalte auf einen Ausdruck erzeugt. Der Ausdruck fügt die beiden Felder FIRSTNAME und LASTNAME aus einem DBServer (CUSTOMER.DBF) zu einem zweizeiligen Wert zusammen.
LOCAL odbsCUSTOMER AS DBServer
LOCAL oBrowser AS bBrowser
LOCAL oColumn AS bDataColumn
// DBServer erzeugen
odbsCUSTOMER := DBServer{"CUSTOMER"}
// Browser erzeugen
oBrowser := bBrowser{oOwner,;
1000,;
Point{0, 0},;
Dimension{300, 250}}
// DBServer im Browser setzen und anzeigen
// -> Durch das leere Array werden keine
// Datenspalten automatisch erzeugt
oBrowser:Use(odbsCUSTOMER, {})
oBrowser:Show()
// Variable Zeilenhöhe einschalten damit die
// Spaltenwerte zweizeilig angezeigt werden
oBrowser:EnableRowHeightVariable(TRUE)
// Datenspalte auf die Felder FIRSTNAME und LASTNAME erzeugen
oColumn := bDataColumn{oBrowser,;
odbsCUSTOMER,;
"Server:FIRSTNAME" + CRLF + "Server:LASTNAME",;
#EXPRESSION}
oColumn:Hyperlabel := HyperLabel{#MYCOLUMN}
// Datenspalte dem Browser hinzufügen und öffnen
oBrowser:AddColumn(oColumn)
oBrowser:OpenColumn()
In dem folgenden Beispiel wird eine Datenspalte auf einen Ausdruck erzeugt. Der Ausdruck stellt abhängig von dem Feld FEMININE zwei unterschiedliche Icons dar. Die Icons werden in den Argumenten <uArgument2> und <uArgument3> übergeben.
LOCAL odbsCUSTOMER AS DBServer
LOCAL oBrowser AS bBrowser
LOCAL oColumn AS bDataColumn
LOCAL oicoMale AS Icon
LOCAL oicoFeminine AS Icon
// DBServer erzeugen
odbsCUSTOMER := DBServer{"CUSTOMER"}
// Browser erzeugen
oBrowser := bBrowser{oOwner,;
1000,;
Point{0, 0},;
Dimension{300, 250}}
// DBServer im Browser setzen und anzeigen
// -> Durch das leere Array werden keine
// Datenspalten automatisch erzeugt
oBrowser:Use(odbsCUSTOMER, {})
oBrowser:Show()
// Variable Zeilenhöhe einschalten damit die
// Spaltenwerte zweizeilig angezeigt werden
oBrowser:EnableRowHeightVariable(TRUE)
// Icons für männlich und weiblich erzeugen
oicoMale := Icon{ICONEXCLAMATION}
oicoFeminine := Icon{ICONASTERISK}
// Datenspalte mit den zwei Icons erzeugen
oColumn := bDataColumn{oBrowser,;
odbsCUSTOMER,;
{|Server,Icon1,Icon2| iif(Server:FEMININE, Icon1, Icon2},;
#EXPRESSION,;
oicoFeminine,;
oicoMale}
oColumn:Hyperlabel := HyperLabel{#FEMININE}
// Datenspalte dem Browser hinzufügen und öffnen
oBrowser:AddColumn(oColumn)
oBrowser:OpenColumn()
Siehe auch
Page url: http://www.YOURSERVER.com/index.html?bdatacolumn_init.htm