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