| XFileLinkField Class | 
Code of field: FLink (for File Link)
Type of field: Link to F field that is a container for files of any format (pictures, MS-Office documents, trace files, etc).
Applicable to:
Any file of any format associated with a given record. Files that are too large could create problems depending on the setting of the underlying database (MySQL, MongoDB) since some size limitations may apply.
 Inheritance Hierarchy
Inheritance HierarchyNamespace: Biolomics.BioCallback
 Syntax
SyntaxThe XFileLinkField type exposes the following members.
 Constructors
Constructors| Name | Description | |
|---|---|---|
|  | XFileLinkField(XFileLinkField) | 
 Copy ctor
  | 
|  | XFileLinkField(TFileLinkField, XRecord) | 
 Initializes a new instance of the XFileLinkField class.
  | 
|  | XFileLinkField(XFileLinkField, XRecord) | 
 Copy ctor but into a new XRecord
  | 
 Properties
Properties| Name | Description | |
|---|---|---|
|  | FieldValue | 
 Gets or sets the field value.
 (Overrides XFieldFieldValue.) | 
|  | IsModified | 
 Gets or sets a value indicating whether this instance is modified.
 (Inherited from XField.) | 
 Methods
Methods| Name | Description | |
|---|---|---|
|  | AddLink | 
 Adds existing target record.
 (Inherited from XLinkField.) | 
|  | 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).) | 
|  | Count | 
 Counts the link field items.
 (Inherited from XLinkField.) | 
|  | 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
 (Inherited from XLinkField.) | 
|  | 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.) | 
|  | LinkField | 
 Gets the Link field.
 (Overrides XLinkFieldLinkField.) | 
|  | LoadTargetRecords | 
 Loads the target records.
 (Inherited from XLinkField.) | 
|  | 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.) | 
|  | Records | 
 Gets the records properties as a recordmap.
 (Inherited from XLinkField.) | 
|  | Reset | 
 Resets this instance.
 (Inherited from XField.) | 
|  | SetDefaultValues | 
 Sets the default values.
 (Inherited from XField.) | 
|  | TargetSqlCo | 
 Gets the target connection.
 (Inherited from XLinkField.) | 
|  | ToString | Returns a string that represents the current object.(Inherited from Object.) | 
|  | Values | 
 Gets the values of the Linked items.
 (Inherited from XLinkField.) | 
|  | Write | 
 Writes data into a TQuery
 and Format it depending to field type
 (Inherited from XField.) | 
 Examples
ExamplesImports System Imports System.Collections Imports Biolomics.BioCallback Imports Biolomics.SharedClasses Imports Biolomics.Utility.DatabaseConstants Public Class Program <STAThread()> Shared Sub Main() Dim program As New Program program.UploadFile() program.CheckRecords() End Sub Public Sub UploadFile() ' ***** Get selected record IDs ***** Dim RecordIdList As New Generic.List(Of Integer) Dim ErrorCode As Integer = Run.GetSelRecordIdList(RecordIdList, Run.GetRecordIdListEnum.Selected) If RecordIdList.Count = 0 Then Return End If ' get the current connection Dim SqlCo As XConnection = Run.GetCurrentConnection() If SqlCo Is Nothing Then Return End If ' get the current layout table Dim CurrentLayout As XDataLayout = Run.GetCurrentLayout() If CurrentLayout Is Nothing Then Return End If ' get the current table displayed in that layout Dim TableDef As XTableDef = SqlCo.GetTableDef(CurrentLayout.TableKey) If TableDef Is Nothing Then Return End If Dim FullFileName As String = "Your_Full_Fil_Name\result.png" Dim FileLinkName As String = "Your_FileLink_Field_Name" ' attach to the first selected record Dim RecordId As Integer = RecordIdList(0) ErrorCode = Run.UploadFile(FullFileName, TableDef.UserName, FileLinkName, RecordId) If ErrorCode <> 0 Then Console.Write(vbCrLf & "Could not upload file") End If End Sub End Class
 Examples
ExamplesImports System Imports BioloMICS.BioCallback Imports BioloMICS.SharedClasses Imports Biolomics.Utility.DatabaseConstants Public Class Program <STAThread()> Shared Sub Main() Dim c As New Program c.CheckRecords() End Sub Public Sub CheckRecords() 'get the current connection Dim SqlCo As XConnection = Run.GetCurrentConnection() If SqlCo Is Nothing Then Return End If 'get the selected table Dim CurrentLayout As XDataLayout = Run.GetCurrentLayout() Dim TableDef As XTableDef = SqlCo.GetTableDef(CurrentLayout.TableKey) If TableDef Is Nothing Then ' may happen if that table doesn't exist Return End If 'fill in a list of all fields to load from the collection table Dim FieldDefMap As New XFieldDefMap Dim SourceOfField As XFieldDef = SqlCo.GetFieldByUserNameEng("country", TableDef.key) 'Dim SourceField As XFieldDef = Sqlco.GetFieldByDbName("rlink2981", TableDef.key) 'Add fields to the map to be loaded FieldDefMap.Add(SourceOfField) 'Search for the user and get it's data Dim WhereStock As XWhere 'load record 8 WhereStock = XWhere.Eq(staticfields.id, 9) Dim RecordMapStock As XRecordMap = Run.LoadRecords(TableDef.Key, FieldDefMap, WhereStock) Run.LoadTargetRecords(RecordMapStock, 400, 7) Console.WriteLine(RecordMapStock.Count.ToString) Dim i As Integer = 0 Dim j As Integer = 0 'loop on the selected records For Each OriginalRecord As XRecord In RecordMapStock 'OriginalRecord.Name <> field 'Change the consortium name' Dim LinkedName As XRecLinkField = CType(OriginalRecord.Fields(SourceOfField.Key), XRecLinkField) Dim stockRecordMap As XRecordMap = LinkedName.Records If stockRecordMap.Count > 0 Then For Each StockRecord As XRecord In stockRecordMap 'loop and write target record name Console.WriteLine(StockRecord.Name) Next End If Next End Sub End Class
 See Also
See Also