XOField Class |
Code of field: O
Type of field: a structured classification value.
Applicable to:
Any kind of structured hierarchy.
Namespace: Biolomics.BioCallback
The XOField type exposes the following members.
Name | Description | |
---|---|---|
XOField(XOField) |
Copy ctor
| |
XOField(TOField, XRecord) |
Initializes a new instance of the XOField class.
| |
XOField(XOField, XRecord) |
Copy ctor but into a new XRecord
|
Name | Description | |
---|---|---|
FieldValue |
Gets or sets the field value.
(Overrides XFieldFieldValue.) | |
FullPath |
Gets the full path.
| |
IsModified |
Gets or sets a value indicating whether this instance is modified.
(Inherited from XField.) | |
NumPath |
Gets the num path.
| |
NumPathIdList |
Gets or sets the numPathIdlist.
| |
ShortPath |
Gets the short path.
|
Name | Description | |
---|---|---|
CanRead |
Determines whether current connection can read from Field.
(Inherited from XField.) | |
CanWrite |
Determines whether current connection can write from Field.
(Inherited from XField.) | |
Clear |
Clears this instance.
(Inherited from XField.) | |
Clone |
Clones this instance.
| |
CloneAsXField |
We cannot use name 'Clone' here otherwise Implements vector.TId(Of XSField) fails because XSField.Clone() returns a XField instead of a XSField !!!
(Overrides XFieldCloneAsXField(XRecord).) | |
DataToView |
Converts field value to readable string.
(Inherited from XField.) | |
DataToView(Int32) |
Mandatory otherwise DataToView(5) returns letter 5 of string given by DataToView(), instead of the subfield value
(Inherited from XField.) | |
Equals |
Determines whether the specified Object is equal to this instance.
(Inherited from XField.) | |
Field |
each derived class embed its own TField member, which can be a TAField, TCField, TEField, etc.
this function must return that original TField
(Overrides XFieldField.) | |
FieldDef |
Gets the Field definition.
(Inherited from XField.) | |
FieldType |
The Field type.
(Inherited from XField.) | |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) | |
GetHashCode | Serves as the default hash function. (Inherited from Object.) | |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
Key |
Gets Field Key.
(Inherited from XField.) | |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
ParentRecord |
Gets the parent record.
(Inherited from XField.) | |
Read |
Reads the Content from source object.
(Inherited from XField.) | |
Reset |
Resets this instance.
(Inherited from XField.) | |
SetDefaultValues |
Sets the default values.
(Inherited from XField.) | |
ToString | Returns a string that represents the current object. (Inherited from Object.) | |
Write |
Writes data into a TQuery
and Format it depending to field type
(Inherited from XField.) |
Imports System Imports BioloMICS.BioCallback Imports BioloMICS.SharedClasses Imports Biolomics.Utility.DatabaseConstants Public Class Program <STAThread()> Shared Sub Main() Dim program As New Program program.ChangeField() End Sub ' Write sub functions here Public Sub ChangeField() ' get the current connection Dim SqlCo As XConnection = Run.GetCurrentConnection() If SqlCo Is Nothing Then Return End If ' get a table from its User name Dim TableDef As XTableDef = SqlCo.GetTableDefByUserNameEng("Your_Table_Name") If TableDef Is Nothing Then ' may happen if that table doesn't exist Return End If ' load a Field from that table Dim FieldDefMap As New XFieldDefMap Dim FieldDef As XFieldDef = SqlCo.GetFieldByDBName("Your_O_Field_name", TableDef.Key) If FieldDef Is Nothing Then ' that field doesn't exist Return End If FieldDefMap.Add(FieldDef) ' load the "Ecolint" record Dim Where As XWhere = XWhere.Eq(StaticFields.id, "12") Dim ParentRecordMap As XRecordMap = Run.LoadRecords(TableDef.Key, FieldDefMap, Where) If ParentRecordMap.Count <> 1 Then ' no "Ecolint" or more than one ! Return End If ' get the parent record Dim ParentRecord As XRecord = ParentRecordMap.GetItemByIdx(0) ' get the parent path Dim ParentOField As XOField = TryCast(ParentRecord.Fields(FieldDef.Key), XOField) If ParentOField Is Nothing Then Return End If Dim ParentPath As vector.VectorOfInteger = ParentOField.NumPathIdList ' add the parent ID to that path ParentPath.Add(ParentRecord.Id) ' load all records with name starting with "Ecol", but don't reload the parent record Where = XWhere.StartWith(StaticFields.name, "Ecol").And_(StaticFields.id, XWhere.OperationEnum.NE, ParentRecord.Id) Dim RecordMap As XRecordMap = Run.LoadRecords(TableDef.Key, FieldDefMap, Where) For Each Record As XRecord In RecordMap Dim Field As XOField = TryCast(Record.Fields(FieldDef.Key), XOField) If Field Is Nothing Then ' this field doesn't exist or is not a O-Field Continue For End If ' copy the result into the field value. Note that the ParentPath vector is cloned internaly Field.NumPathIdList = ParentPath Record.Save(False) Next End Sub End Class