Data

The NetQuarry Enterprise Application Platform (EAP) allows you to build and deploy n-tiered, enterprise quality applications. The EAP sits on the Microsoft .NET common language runtime and provides rich functionality at all layers of an application.

The NetQuarry EAP does not generate code, rather, it uses the NetQuarry Core Runtime, custom configuration, metadata, and developer coded extensions to construct world class, quality applications.

Data Sources

Business applications depend on data. Increasingly, this data comes from multiple data “sources” across the enterprise. These sources of data may exist in relational databases such as Oracle, Microsoft SQL Server, or IBM DB2. Some of the sources of data, however, exist as Web Services, XML documents, or remote procedure calls. NetQuarry makes aggregating disparate data into a single, functional user interface simple and fast.

Extensions

Extensions are a key concept of the NetQuarry platform. Extensions are libraries that receive events from the running application objects. For example, when a record in a page is changed, the IMapper representing that data fires update events (notifications) through all of the extensions configured (via metadata) on that object.

This is a powerful programming pattern that is extremely simple for application developers, even those unfamiliar with Microsoft .NET to quickly grasp and master.

To create an extension, the developer can run a wizard from the Studio that allows them to specify the name, location, language (C#, VB.NET), and which objects they want to attach the extension.

Some objects support the idea of “global” extensions (e.g. Mapper-based objects). A global extension is automatically attached to all objects of a particular class. This is particularly useful for functionality such as auditing and summary information handling.

Extensions must implement a known interface (IExtension) or derive from a provided base class. The most common type of extension is the mapper extension which typically derives from MapperExtensionKernel or TypedMapperExtension). Most non-declarative business logic is implemented in mapper extensions. Most applications also include a small number of page extensions (derived from PageExtensionBase for handling wizard and console page events, and a single application extension (derived from ApplicationExtensionBase).

Examples

The following example shows an extension that handles a RowBeforeUpdate event on a Mapper.
CopyC#
using System;
using NetQuarry;        // Include the NetQuarry objects

namespace XCustomer
{
    public class XExt : MapperExtensionKernel
    {
        public XExt() {}

           public override void RowBeforeUpdate(IMapper sender, NQEventArgs e)
           {
            IField        fld = sender.Fields["forecast_discount_amount"];

            if (System.Convert.ToInt32(fld.Value) > 10)
                fld.Value = 10;
        }
    }
}

Handling business logic using this methodology is both simple and robust. Extensions can be reused across multiple objects, they can be debugged interactively using Visual Studio, and they hide the complexity of the infrastructure from the application developer allowing them to concentrate on the task of building business applications.

Mappers

A Mapper (IMapper) is the primary means of mapping object-oriented programming objects to data sources managed by relational databases or other sources of data. A Mapper provides 2-way (Read and Write) access to the underlying Data Source.

There are several subclasses of the Mapper object. The most important are the MapperDatasheet and MapperDetail. Each provides an implementation that uses the data in the Mapper to render a view of the data using HTML.

Application (IAppContext)

The Application object holds information that is used throughout each page (or server) request. The Application is available to all objects, most importantly the extensions. The Application object is created as the first object in any request, and when possible it is cached for performance purposes.

The Application object handles connecting to the authentication provider, authenticating the user, checking object permissions for that user, storing user (UserContext) information, holding the list of available PageInfo objects, and connecting to the metadata (Repository) data source. It also has a collection of DataSources specified in metadata.

More than one Application object may be specified in metadata, and connecting to an application allows the user to see more than one “view” of an implemented NetQuarry application.

Pages and Templates

A Page is the smallest object that renders user interface. Some pages display data from a IMapper, while others allow the user to perform a quick search, quick creation of an object, or perform some sort of navigation.

A Template is a code-based layout of one or more areas (called Slots). Each slot in a template is specified using a Page property at design time.

Properties and TextItems

Many NetQuarry platform objects support a collection of custom Properties. Properties are fields of information that varies between objects and object instances. Most properties are loaded from the metadata when the object is created. A property that is loaded from metadata has an associated parameter object (a metadata only object) defined in the metadata. Properties can be added at runtime or design time. At design time, parameters form the definition for the NetQuarry studio’s property sheet.

TextItems are similar to properties but hold only strings. Additionally, each TextItem object is specific to a locale (or culture). At runtime, Textitems are loaded for the current user’s culture. If there is no string for the type of text for the current culture, the default culture is used. All strings used in the platform are represented as TextItems. This provides a simple way to support multiple user languages (cultures) on a single site, with a single codebase.

Properties and TextItems provide programmatic access to virtually all meta-data associated with an object.

Logging

The platform is proactively logging a rich set of data to help the developer diagnose problems during development and runtime. Additionally, the developer can use the built-in object called DevLog to add messages to the log.

Using Mappers

If you create a resource that has a connection to a database (IDatabase) object such as a Mapper, you must close the Mapper before exiting the procedure.

TypedMappers

Generated TypedMapper derived classes are useful when manipulating a mapper and you would like to treat it more like a type-safe object. They are also useful as a base class for higher level business objects that you may require in your extensions. A TypedMapper has a Get and Set property for every field defined in the mapper. If you have fields with an include flavor you may need to add a Get and Set property in your derived class as the generator will not pickup these fields.

You typically use a TypedMapper in your extensions. You can create a TypedMapper and attach it to the sender (IMapper) of the event or you can use the TypedMapper derivative to create a new mapper - either for the purpose of creating a new row or reading/updating an existing one. Connecting a TypedMapper via one of the constructors or TypedMapper.Attach is very inexpensive and generally a safer way to work with a mapper. You should, however, use good judgement when creating a new instance of a TypedMapper as a query of the operational database is generally required.

Generating TypedMappers

To generate typed mappers you run the command line utility EAP.Tools.CodeGen.EXE installed in the <application root>/bin folder. The utility takes the following arguments (the first argument (-AppID) is required):

  1. -AppID:<appid> - the ID for your application.
  2. -CamelCase - (optional) include this to convert property names to a CamelCase representation. By default, property names are the same as the mapper field's key name
  3. -NullableNumerics - (optional) include this to declare the numeric field properties as Nullable. By default, numeric properties are defined as their value types and 0 (or false) is returned if the value is null.
  4. -NoNullStrings - (optional) include this to force string properties to return an empty string instead of null when the field value is null. By default, null values are returned as null strings.
You must create a config section in the EAP.Tools.CodeGen.exe.config with the options. Example:
CopyC#
<configSections>
    <section name="IssueTrak" type="System.Configuration.NameValueSectionHandler" />
</configSections>

<IssueTrak>
 <!-- connection strings -->
 <add key="repository_connect" value="Provider=SQLOLEDB;Data Source=.;Initial Catalog=issues_meta;Integrated Security=SSPI" />    
 <add key="IssueTrak_connect" value="Provider=SQLOLEDB;Data Source=.;Initial Catalog=issues_data;Integrated Security=SSPI" />

 <!-- optional, normally set by the web application context -->
 <add key="RootPath" value="c:\inetpub\wwwroot" />
 <add key="RootURL" value="http://localhost" />

 <!-- full path to the file to be generated -->
 <add key="GeneratedFileName" value="C:\NetQuarry\IssueTrak\Source\Data\Generated\TypedMappers.cs" />
 <!-- namespace to use for the generated TypedMapper classes -->
 <add key="Namespace" value="IssueTrak.Data" />
</IssueTrak>

Example:

CopyC#
SET APP_KEY=IssueTrak
EAP.Tools.CodeGen -AppID:%APP_KEY% -CamelCase -NoNullStrings

Classes

  ClassDescription
Public classBeforeRequeryArgs
The event args for the MapperBeforeRequery event.
Public classBuildFilterArgs
The event args for the FieldBuildFilter event.
Public classCheckList
A check list control for use as the control for Multiselect IField objects. This control presents a scrollable list of HTML checkboxes for client-side manipulation, but stores its value as a semi-colon separated list of values in a child TextBox control.
Public classChooser
A list-based selector control rendered as two side-by-side lists, one with unselected items and the other with selected items. The control is derived from a standard .Net ListBox and transformed to its Chooser presentation via jQuery. The original jQuery script was obtained from http://loudev.com, source: https://github.com/lou/multi-select, licensed source: https://github.com/lou/multi-select/blob/master/js/jquery.multi-select.js
Public classCommandEventArgs
Event args for MapperCommands collection events.
Public classCreateControlArgs
The event args for the FieldCreateControl event. Typically the extension calls the SetCellType(CellTypes, Int32) method to dynamically specify the CellType for the field. When used in this manner the field object then perform normal control creation and configuration based on that CellTypes. The extension can instead, or also, set the BaseControl to provide a custom WebControl in which case it is the extension's responsibilty to create the control and provide initial configuration.

When determining what CellTypes and/or WebControl to use, the extension should heed the CreationFlags which provide the context for the control's use and, if a control is created by the extension, set that controls's value to the value provided by Value, if any.

See also FieldCreateControl(IField, CreateControlArgs).
Public classCSV
Utility class to create a DataTable from a comma separated values file.
Public classDuplicateRecordException
The exception that is thrown when an attempt is made to save a record that fails the duplicate check (per the field DupeCheck attribute).
Public classExecSQLArgs
The event args for the MapperExecSQL and RowExecSQL events. The SQL to be executed is included in the event args and can be modified by the receiving extension.
Public classExpressionParser
Helper class for working with field reference expressions.
Public classField
Defines an individual field in a mapper.
Public classFieldAnomalyArgs
The event args for the FieldAnomaly event.
Public classFieldButtonClickArgs
The optional event args for the FieldButtonClick event. Currently this object is provided to the FieldButtonClick event only for AJAX button clicks. For other cases where the FieldButtonClick event is fired, EAPEventArgs is provided. See also FieldButtonClick(IField, EAPEventArgs).
Public classFieldInterfaceExtensions
Helper extension methods for the IField interface.
Public classFieldKernel
Base class for a Mapper Field object.
Protected classFieldKernel..::..FilterDesc
Descriptor for a filter constructed by the field via GenFilterClause().
Protected classFieldKernel..::..NavInfo
Describes an object that contains navigation information for a field link.
Public classFieldNotFound
Exception thrown when specified field is not found in the collection.
Public classFieldRefExprException
The exception that is thrown when a non-fatal field reference error occurs.
Public classFields
Provides a collection for an IMapper field's collection.
Public classFilterException
The exception that is thrown when a non-fatal filter error occurs.
Public classFlavorsMap
Helper class for mapper custom flavor names from the Flavors enum to mapper-specific flavor names.
Public classGroupingInfo
Provides grouping information about a mapper. This object populated by the mapper in response to a GroupingInfo command.
Public classImmediateSave
Support utility code for ImmediateSave handling.
Public classInvalidFieldValue
Exception thrown when a field validation test fails.
Public classInvalidMapperMovement
Exception thrown when an invalid mapper record movement is attempted.
Public classMapFieldSig
Helper class for managing a field reference. Used, with encryption, in immediate save AJAX calls.
Public classMapper
A Mapper is the primary means of mapping object-oriented programming objects to data sources managed by relational databases or other sources of data. A Mapper provides 2-way (Read and Write) access to the underlying Data Source. Several classes implement the IMapper interface:
  • Mapper - Basic mapper intended for programmatic use (with no UI).
  • MapperList - Basic list mapper intended for programmatic use (with no UI).
  • MapperDetail - Standard editable single-item detail UI mapper.
  • MapperDatasheet - Standard list UI mapper.
Public classMapperBuildFilterArgs
The event args for the MapperBuildFilter event.
Public classMapperCommand
Describes a command added to a page by a Mapper extension.
Public classMapperCommands
A collection of commands attached to a mapper.
Public classMapperExtensionBase
Abstract base class for mapper extensions. This class is provided primarily for internal use and custom application extensions should not normally derive from this class, but rather from MapperExtensionKernel for untyped extensions or [!:TypedMapperExtension] for typed extensions.
Public classMapperExtensionKernel
The base class for a Mapper extension.
Public classMapperExtensions
Entensions for various classes to make them easier to use with a mapper.
Public classMapperFilter
An MapperFilter is a SQL filter clause (a WHERE clause without the keyword WHERE). These filters are applied to a mapper in order restrict the set of record obtained when the mapper requeries. Individual filters are replaceable and updateable. Typically each filter provides a different type of functionality such as security, user filtering (often with separate filters for each field criterium).
Public classMapperFilters
A collection of MapperFilter objects. MapperFilter objects are used to filter a mapper in order to restrict the rows queried by the mapper.
Public classMapperKernel

A Mapper is the primary means of mapping object-oriented programming objects to data sources managed by relational databases or other sources of data. A Mapper provides 2-way (Read and Write) access to the underlying Data Source.

MapperKernel is the base class used by all types of mappers.

Public classMapperList
This is a basic list mapper having no UI of its own.
Public classMapperUtils
Utility class used by both MapperDetail and MapperDatasheet.
Public classMaxLengthExceededException
Exception thrown when a mapper save is attempted and one or more fields have values exceeding the field's MaxLength property.
Public classMissingMapper
Exception thrown when specified mapper definition is not found.
Public classMissingRequiredFields
Exception thrown when one or more required fields aren't populated.
Public classNamespaceDoc
Public classOptimisticLockCollision
Exception thrown when optimistic locking is specified and an update is attempted on an row that has changed since originally queried.
Public classOrderingList
A list control for IField objects allowing a user to order (sort) items. This control presents a list of HTML List Item (LI) elements for client-side manipulation, but stores its value as a semi-colon separated list of values in a child TextBox control. This control requires the jQuery UI javascript library.
Public classRelatedMapperContext
Provides for context information for a mapper relationship. Currently the only relationship built into the platform is that between a mapper and its parent. An example of such a relationship is a mapper in the bottom pane of a subform template with its ParentContext being that of the mapper in the top pane.
Public classSchemaInfo
Holds information about a column in a DataReader
Public classSchemaInfoCollection
Contains a collection of schema information loaded from an IDataReader object.
Public classTableInfo
Holds information about a table.
Public classTableInfos
A collection of TableInfo objects
Public classTypedMapper
Represents the base class for generated TypedMapper classes
Public classTypedMapperExtension<(Of <(<'T>)>)>
Represents the base class for an extension associated with a generated TypedMapper
Public classUnknownCommand
Exception thrown when an unknown command is specified to a mapper.

Interfaces

  InterfaceDescription
Public interfaceIField
Defines an individual field in a mapper. Mappers implement the IMapper interface and are the platform's implementation of an Object Relational Mapper (ORM). The mapper acts as a sophisticated RecordSet that performs database binding and exposes data from the database for programmatic manipulation and display.

The mapper contains a set of fields in its Fields collection. Each field typically corresponds to a column in the mapper's underlying view. However multiple fields can be mapped to a single column (using the AliasName property) and a field can be marked as ExcludeFromSelect to indicate that there is no corresponding column in the view.

The field object is used to read, insert, and update column values via the Value property. It is also used to manage presentation layer information and to expose all the field's meta-data settings.

The Field's Exec(FieldExecCmds, Int32, array<Object>[]()[][]) method exposes additional functionality via FieldExecCmds.

Public interfaceIFieldControl
Interface allowing basic field support for custom controls.
Public interfaceIFieldWidget
Describes an object that implements a field widget interface.
Public interfaceIListField
Interface allowing basic field support for custom controls that deal with list data.
Public interfaceIMapper
A Mapper is the primary means of mapping object-oriented programming objects to data sources managed by relational databases or other sources of data. A Mapper provides 2-way (Read and Write) access to the underlying Data Source.

Among the most important aspects of a mapper are:

Public interfaceITypedMapperExtensionMarker
Marker interface allowing mapper to determine if extension is implemented as a TypedMapperExtension.

Delegates

  DelegateDescription
Public delegateCommandEventHandler
Fired when an event occurs in the MapperCommands collection.
Public delegateFields..::..FieldNotFoundEvent
Prototype for methods handling the OnFieldNotFound event.

Enumerations

  EnumerationDescription
Public enumerationAggregateDisplay
Options specifying how the mapper should display aggregate data. This is specified using the mapper "AggregateDisplay" property. Note that displaying aggregate data requires an additional query which may have a performance impact on the application. If so desired, he developer can use the persistence options to reduce this impact by making sure that users don't turn on aggregate display permanently.
Public enumerationAggregateQueryExprFlags
Flags for use with the AggregateQueryExpr.
Public enumerationAggregateType
Aggregate types specifying what type of aggregation should be used, per field, in the aggregate row of a Datasheet.
Public enumerationButtonType
Specifies the way buttons are presented in (list) datasheet and detail forms. Overall application behaviour can be specified using the studio's ButtonType property on an application. This default behaviour can be overridden setting the same property on a particular field in the studio. If no setting is specified, the platform defaults to ListLinkDetailButton.
Public enumerationCaptionFlags
Flags used to control caption construction when calling Exec(MapperExecCmds, Enum, array<Object>[]()[][]) with the Caption, passing CaptionFlags in the flags parameter.
Public enumerationCellButtonAttrs
Cell attributes specific to Button cells.
Public enumerationCellCheckBoxAttrs
Cell attributes specific to CheckBox cells.
Public enumerationCellChooserAttrs
Cell attributes specific to Chooser cells.
Public enumerationCellComboBoxAttrs
Cell attributes specific to ComboBox cells.
Public enumerationCellCurrencyAttrs
Cell attributes specific to Currency cells.
Public enumerationCellDatePickerAttrs
Cell attributes specific to DatePicker cells.
Public enumerationCellEmailAddrAttrs
Cell attributes specific to DatePicker cells.
Public enumerationCellFilePathAttrs
Cell attributes specific to FilePath cells.
Public enumerationCellFileUploaderAttrs
Cell attributes specific to FileUploader cells.
Public enumerationCellFindAttrs
Cell attributes specific to Find cells.
Public enumerationCellGroupBoxAttrs
Cell attributes specific to GroupBox cells.
Public enumerationCellHtmlAttrs
Cell attributes specific to Html cells.
Public enumerationCellIconAttrs
Cell attributes specific to Icon cells.
Public enumerationCellLabelAttrs
Cell attributes specific to Label cells.
Public enumerationCellLinkAttrs
Cell attributes specific to Link cells.
Public enumerationCellListBoxAttrs
Cell attributes specific to ListBox cells.
Public enumerationCellMultiSelectAttrs
Cell attributes specific to MultiSelect cells.
Public enumerationCellPasswordAttrs
Cell attributes specific to Password cells.
Public enumerationCellPictureAttrs
Cell attributes specific to Picture cells.
Public enumerationCellRadioButtonsAttrs
Cell attributes specific to RadioButtons cells.
Public enumerationCellRatingIconAttrs
Cell attributes specific to RatingIcon cells.
Public enumerationCellSecureTextAttrs
Cell atrributes specific to SecureText cells.
Public enumerationCellTextBoxAttrs
Cell attributes specific to TextBox cells.
Public enumerationCellTextWithWidgetAttrs
Cell attributes specific to TextWithWidget cells.
Public enumerationCellTimeDurationAttrs
Cell attributes specific to TimeDuration cells.
Public enumerationCellTimePickerAttrs
Cell attributes specific to TimePicker cells.
Public enumerationCellTreeAttrs
Cell attributes specific to Tree cells.
Public enumerationCellTypes
A field's CellType specifies how the field is used. For dynamically created pages the CellType is used to determine what type of control to instantiate to represent the field in the UI. Certain properties configurable via the studio are CellType-specific (see CellTypeAttributes). In particular, many cell types have a set of CellType-specific attributes associated with them. Such attributes are named Cell<celltype>Attrs.
Public enumerationCellUrlAttrs
Cell attributes specific to Url cells.
Public enumerationCellWebSiteAttrs
Cell attributes specific to WebSite cells.
Public enumerationControlBindingFlags
Option flags for use with ControlBind.
Public enumerationControlCreationFlags
Option flags for use with CreateControl.
Public enumerationControlValueGetFlags
Option flags for use with ControlValueGet.
Public enumerationConversionScriptOptions
Options specifying what kind of conversion script should be generated, for use with GenConversionScript.
Public enumerationConvertValOpts
Options for the ConvertValue command.
Public enumerationDataTableRetrievalFlags
DataTable retrieval flags for use with IMapper.Exec(MapperExecCmds.RetrieveDataTable, DataTableRetrievalFlags).
Public enumerationDispTextFlags
Option flags for use with DisplayTextGet(DispTextFlags).
Public enumerationExecSQLArgs..::..ExecuteStatementType
Execution types.
Public enumerationExpandTemplateFlags
Flags to modify the behavior of the MapperExec command, ExpandTemplate ExpandTemplate.
Public enumerationExpressionResolutionFlags
Expression resolution flags passed in the flags parameter when calling Exec(MapperExecCmds, Enum, array<Object>[]()[][]) with the ExpressionResolve command.
Public enumerationFieldAnomaly
Anomalous conditions that may be detected during mapper operations and causing FieldAnomaly events to be fired. A FieldAnomaly event will be fired for each anomaly detected. Currently these anomalies are only detected during attempts to save.
Public enumerationFieldAttrs
Field attributes are used to control overall behaviour of the field via the Attributes property. Attributes may be combined by ORing values together.
Public enumerationFieldBehaviorOptions
Options specifying general field behaviour.
Public enumerationFieldCapabilities
Field capabilities that can be ascertained using the Supports(FieldCapabilities) method.
Public enumerationFieldDeleteBehavior
Commands for use with the IField.Exec() method.
Public enumerationFieldDiffOptions
Options for use when "diff'ing" field new vs. old value via DiffValues.
Public enumerationFieldDisplayFormat
Identifies the field display format based on the field's data type, cell type and other relevant settings.
Public enumerationFieldExecCmds
Commands for use with the Exec(FieldExecCmds, Int32, array<Object>[]()[][]) method.
Public enumerationFieldExportAttrs
Attributes specifying how a field is to be handled during an export (e.g. to Excel).
Public enumerationFieldExpressionAttrs
Attributes used when resolving field expressions.
Public enumerationFieldFilterFlags
Option flags for use with FilterClause.
Public enumerationFieldFilterOptions
Options specifying field filtering availability and behaviour.
Public enumerationFieldFindType
Find types for use with Fields.Find() to find specific fields in a Fields collection.
Public enumerationFieldFormatFlags
Flags for use with FormatValue.
Public enumerationFieldImportAttrs
Attributes specifying how a field is to be handled during an import.
Public enumerationFieldListOptions
Options affecting behaviour of field in list views.
Public enumerationFieldPositionOptions
Options used to control how a field is positioned.
Public enumerationFieldSecurityAttrs
Security attributes for field-level, role-independent security configuration. These attributes have the biggest impact, and are commonly used, in "strict" mode, see IsStrictMode.
Public enumerationFieldSubsetType
Type of subset to obtain using Fields.Subset().
Public enumerationFileUploadSources
Specifies the source(s) for uploading images via a FileUploader field when specified in the field's FileUploadSource property.
Public enumerationFilterDescOptions
Options specifying how a filter description is to be composed.
Public enumerationFilterFlags
Flags specifying additional information about an MapperFilter in an MapperFilters collection.
Public enumerationFindBehaviour
Options specifying how Fields.Find should behave.
Public enumerationFlavors
Flavors are used to include/exclude particular fields on a mapper based on mapper context. The IField.IncludeFlavor and/or IField.ExcludeFlavor can be set in meta-data. When the mapper loads its fields, the mapper's Flavor value is used in conjunction with each field's IncludeFlavor and ExcludeFlavor to determine if the field should be included or excluded from the mapper instance.
Public enumerationFullTextSearchAttributes
Flags used to control the behaviour of IMapper.Exec(MapperExecCmds.Caption, CaptionFlags).
Public enumerationGenSelectFlags
Flags to modify the behavior of the MapperExec command, GenerateSelectSQL GenerateSelectSQL.
Public enumerationGetFilterFlags
Flags specifying how a filter is to be built.
Public enumerationGetValFlags
Option flags for use with GetValue(GetValFlags, Object).
Public enumerationHoverSummaryFlags
Options for use with HoverSummaryScript.
Public enumerationHTMLSummaryFlags
Flags used to control how an HTML summary is generated. Among other uses, these flags are passed in the flags parameter when calling Exec(MapperExecCmds, Enum, array<Object>[]()[][]) with the Caption command.
Public enumerationKeyDisplayCollectionFlags
Flags to modify the behavior of the MapperExec command, KeyDisplayCollectionGet KeyDisplayCollectionGet
Public enumerationLabelFlags
Option flags for use with LabelText and CreateLabel.
Public enumerationLabelOptions
Options used to control how a field's label is rendered.
Public enumerationLinkBehaviorAttributes
Options specifying field link behaviour.
Public enumerationLinkForNavFlags
IField.Exec flags to use with LinkForNav.
Public enumerationMapperAttrs
MapperAttributes are used to control overall behaviour of the IMapper.
Public enumerationMapperBindFlags
Public enumerationMapperCloneFlags
Options for the Clone(IMapper, MapperCloneFlags) method.
Public enumerationMapperCommandLocation
Specifies the location of the command. A command added to a mapper can exist either on the "More" menu or the toolbar. If you specifiy that the command should be located on the toolbar, then you must provide an image for the command. Images should be relative to the root path.
Public enumerationMapperExecCmds
Commands for use with the Exec(MapperExecCmds, Enum, array<Object>[]()[][]) method on an IMapper.
Public enumerationMapperExecFlags
General purpose flags for use with various MapperExecCmds.
Public enumerationMapperFilterAttrs
MapperFilter attributes extracted from the xmt_filters.attr_bits column. All filters loaded from this table are marked as static. Depending on the attributes set, a filter may also be marked as a Security filter.
Public enumerationMapperFilterType
The type of filter that is being constructed
Protected enumerationMapperKernel..::..MapperProcessing
Describes the internal processing state of the mapper.
Protected enumerationMapperKernel..::..MapperState
Describes the internal state of the mapper.
Protected enumerationMapperKernel..::..PopulateFlags
Modifier flags used by MapperKernel.PopulateFromSource
Protected enumerationMapperKernel..::..RequeryFlags
Public enumerationMapperLinkFlags
Flags used to control the behaviour of IMapper.Exec(MapperExecCmds.Link, MapperLinkFlags).
Public enumerationMapperLoadFlags
Flags used with Load()()()().
Public enumerationMapperMode
Mapper mode specifies how the mapper is being used and controls the overall look and behaviour of the mapper.
Public enumerationMapperNofications
Notifications sent by a mapper to its fields to apprise them of current mapper actions/state.
Public enumerationMapperTruncateBehavior
Behavior of the mapper when fields exceed their length
Public enumerationMoveReason
Specifies the reason for a relative move
Public enumerationOperationType
The different types of operations that a mapper can perform.
Public enumerationPicklistFillFlags
Option flags for use with FieldExecCmds.PicklistFillCtrl.
Public enumerationQuerySqlOptions
Option flags passed in the [[OPTIONS]] parameter to an QuerySQL expression.
Public enumerationRequeryHints
Hints provided to IMapper.Requery().
Public enumerationRowDigestFlags
Options for the RowDigest(RowDigestFlags) method.
Public enumerationSaveFilterOptions
Options used with the MapperExecCmds.FilterSave command.
Public enumerationSetValFlags
Option flags for use with SetValue(Object, SetValFlags, Object).
Public enumerationSQLValueFlags
Option flags for use with SQLValue(SQLValueFlags, Object).
Public enumerationTabOrderAttrs
Flags used to control how the mapper assigns automatic TabIndex ordering to fields in a detail form. Note that these only apply when NoTabOrdering is not set.
Public enumerationToolTipOptions
Option specifying how field tooltips should be handled.
Public enumerationWizardSummaryFlags
Flags used to control the behaviour of the wizard summary. The enum is based on the HTMLSummaryFlags, but includes only a subset of those enumeration items and includes several with the opposite sense such that the typically desired wizard behaviour results when no flags are set.
Public enumerationWPEnvironment
Describes the environment in which the FieldWidget is operating.