DataField class

Namespace: TECIT.TFORMer

Provides access to DataField information.

Usage and notes

Overview

A DataField is a place-holder for dynamic content in a FormLayout. One FormLayout can use an arbitrary number of DataFields (0..n). TFORMer Designer requires that a DataField is defined before it can be used. This definition takes place directly in the FormLayout (in the case of a stand-alone FormLayout) or in a user-defined Project (or the GlobalProject ) of a Repository.

A DataField can be printed as text, as bar-code or may be used to provide the filename for image elements in the FormLayout. Besides this, a DataField can be used in element expressions and printing conditions.

Data Type

The type of a DataField influences its use in expressions within a FormLayout and the conversion method when reading a DataField from a JobData. 3 different data types are supported:

  • Text
    A text (string or character). This is the recommended data type.

  • Long
    An integer number. When reading a DataField of this type from a JobData it is converted automatically to an integer.

  • Float
    A floating point number. When reading a DataField of this type from a JobData it is converted automatically to a floating point number.

  • Invalid
    Invalid, internal use only.

Numeric conversion is permissive and can ignore non-numeric characters. Validate numeric strings in your application if strict format checking is required.

Naming Conventions

A DataField name must begin with an ASCII letter (A to Z or a to z) or an underscore. The remaining characters may be ASCII letters, digits (0 to 9) or underscores. Spaces, tabs, hyphens, accented letters and other special characters are not allowed. See Naming Rules for naming rules and examples.

Usually DataField names are not suitable for representing them to end-users. Refer to additional properties like Caption, Description, Comment and DisplayOrder for such purposes.

Data Field Values

For printing a FormLayout it is required to provide the DataField values via JobData. When a JobData is used to pass data to TFORMer SDK and a DataField is not set by this JobData the value of the DataField will be an empty string ("") or 0 (see also JobData.ReuseValues).

Data Field Default Values

The DefaultValue is the standard value of a DataField. The DefaultValue is only used by TFORMer Designer.

Validating DataFields

A validation rule is an expression that checks whether a DataField value meets a condition. Define the rule and its validation message in the FormLayout or Repository with TFORMer Designer (recommended). You can also set ValidationRule and ValidationMessage programmatically through the DataField interface.

Validation rules are evaluated when records are read during output generation. If a rule is violated, the SDK reports an error and includes any configured validation message in the additional error information. Read TFORMerException.Information for the additional error information.

TFORMer Designer displays an error message for invalid data.

DataField Enumeration

To iterate through the available DataField objects, use Project.FirstDataField and DataField.Next.

To find a DataField by name, use Project.GetDataField.

If you want to know, whether the returned DataField is actually used in the FormLayout use the method FormLayout.GetDataFieldUsage.

To determine if a specific DataField is used in a FormLayout iterate all data-fields of the Project and query the usage:

  // Enumerate all DataFields in the Project
  for (DataField field = project.FirstDataField; field != null; field = field.Next)
  {
    // Query the DataField usage in the given FormLayout
    DataFieldUsage usage = formlayout.GetDataFieldUsage(field.Name);
    // may the DataField value be set (this depends on the usage of the DataField within the FormLayout)
    if (usage == DataFieldUsage.Normal)
    {
      // Do something
      Console.WriteLine(field.Name);
    }
  }

Attention

The DataField is only valid as long as it is available in the Project. If it is removed from the Project all instances of the DataField immediately become invalid.

Note


Thread-safety: A single instance of this class must not be used by different threads.

Base types: IDisposable

Properties

MemberDescription
Captionstring { get; set; }

Gets/Sets the caption of the DataField.

Commentstring { get; set; }

Gets/Sets the comment of the DataField.

Criteriabool { get; set; }

Gets/Sets a flag indicating whether this DataField should be used as a criteria for a print-job (TFORMer Server).

CriteriaColumnint { get; set; }

Gets/Sets the criteria column of the DataField (TFORMer Server).

CriteriaFormatstring { get; set; }

Gets/Sets the criteria format of the DataField (TFORMer Server).

DefaultValuestring { get; set; }

Gets/Sets the default value of the DataField.

Descriptionstring { get; set; }

Gets/Sets the description of the DataField.

DisplayOrderstring { get; set; }

Gets/Sets the display order of the DataField.

EditModeDataFieldEditMode { get; set; }

Gets the edit mode of this DataField.

InitialValueSourceDataFieldInitialValueSource { get; set; }

Gets or sets the initial value source of this DataField.

Namestring { get; set; }

Gets/Sets the name of the DataField.

NextDataField { get; }

Gets the next DataField defined in the Project.

TypeDataFieldType { get; set; }

Gets/Sets the type of the DataField.

ValidationMessagestring { get; set; }

Gets/Sets the validation message of the DataField.

ValidationRulestring { get; set; }

Gets/Sets the validation rule of the DataField.

Methods

MemberDescription
Dispose()Returns: void

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

GetDetails(DataFormat)Returns: string

Gets the details of the DataField.

ToString()override · Returns: string

Returns a string representation of the instance.

Search documentation

Search in
More scopes
Additional scopes

All contents