DataFieldType enumeration

Package: com.tecit.TFORMer

Defines the type of a DataField.

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.setReuseValues).

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. Use TFormerException.getInformation() 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.getFirstDataField and DataField.getNext.

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.getFirstDataField (); field != null; field = field.getNext ())
  {
    // Query the DataField usage in the given FormLayout
    DataFieldUsage usage = formlayout.getDataFieldUsage (field.getName ());

    // may the DataField value be set (this depends on the usage of the DataField within the FormLayout)
    if (usage == DataFieldUsage.Normal)
    {
      // Do something
    }
  }


Values

NameExplicit initializerDescription
FloatNot explicit

A floating point number. When reading a DataField of this type from a JobData it is converted automatically to a floating point number. In case of conversion errors the result is 0 (no error or exception will be raised).

InvalidNot explicit

Invalid, internal use only.

LongNot explicit

An integer number. When reading a DataField of this type from a JobData it is converted automatically to an integer. In case of conversion errors the result is 0 (no error or exception will be raised).

TextNot explicit

A text (string or character). This is the recommended DataFieldType.

Search documentation

Search in
More scopes
Additional scopes

All contents