Top Method Summary
Options Name Purpose
LOGICAL CanResolveFieldFromDataSource (SmartViewerControl, character) Returns whether the referenced field can be resolved from the SmartDataSource of a viewer
CellChangedHandler (Object, CellEventArgs) Event handler for the CellChange event of a SmartUpdatableBrowser
Evaluate () Evaluates the rule and enables/disables or shows/hides the control based on the result
CHARACTER GetAdapterFieldLiteral (SmartDataAdapter, character) Returns the value of a field of a SmartDataAdapter as an ABL expression literal
Consultingwerk.Framework.ExpressionParser.AblExpressionEvaluator GetEvaluator () Returns the AblExpressionEvaluator instance used to evaluate the rule expressions
InitializeRule () Initializes the rule
ReevaluateHandler (Object, EventArgs) Generic event handler that re-evaluates the rule
CHARACTER ResolveDataAdapterValue (SmartDataAdapter, character) Resolves the value of a property or field of a SmartDataAdapter instance as an ABL expression literal
CHARACTER ResolveDataBrowserValue (SmartBrowserControl, character) Resolves the value of a property or field of a SmartDataBrowser or SmartUpdatableBrowser instance as an ABL expression literal
CHARACTER ResolveMemberValue (Object, character) Resolves the value of a property or field of a referenced instance as an ABL expression literal
ResolveTokenInstances () Resolves the instance references of the rule tokens
CHARACTER ResolveViewerValue (SmartViewerControl, character) Resolves the value of a property or field of a SmartViewerControl instance as an ABL expression literal
SmartDataSourceChangedHandler (Object, EventArgs) Event handler for the SmartDataSourceChanged event of the viewer
SubscribeDataAdapterEvents (SmartDataAdapter) Subscribes to the change notification events of a SmartDataAdapter
SubscribeEvents () Subscribes to the change notification events of the viewer, the instances referenced by the rule tokens and the bound editor controls
SubscribeViewerFieldControl (SmartViewerControl, character) Subscribes to the change notification event of the editor control bound to the referenced field of a viewer
TableIOStateChangedHandler (Object, SmartTableIOStateChangedEventArgs) Event handler for the SmartTableIOStateChanged event of viewers and updatable browsers
TokenResolvedHandler (Object, TokenResolverEventArgs) Event handler for the TokenResolved event of the TokenResolver
UpdateStateChangedHandler (Object, DataSourceUpdateStateEventArgs) Event handler for the BeginUpdateState and EndUpdateState events of a SmartDataAdapter
ViewerLoadedHandler (Object, EventArgs) Event handler for the Load event of the viewer

Top Constructor Summary
Options Name Purpose
ViewerControlRule (Control, character, SmartViewerControl, ViewerControlRuleTypeEnum) Constructor of the ViewerControlRule class

Top Property Summary
Options Name Purpose
CHARACTER Rule
Consultingwerk.Windows.Framework.Repository.Rendering.Viewer.ViewerControlRuleTypeEnum RuleType


Method Detail
Top

LOGICAL CanResolveFieldFromDataSource (SmartViewerControl, character)

Purpose: Returns whether the referenced field can be resolved from the
SmartDataSource of a viewer
Notes: Returns true when the SmartDataSource of the viewer is a
SmartDataAdapter whose bound buffer provides the (optionally
buffer qualified) field

Parameters:
poViewerControl Consultingwerk.SmartComponents.Base.SmartViewerControl
The reference to the viewer
pcFieldName CHARACTER
The (optionally buffer qualified) name of the field
Returns LOGICAL
Logical value indicating whether the field can be resolved from the data source
Top

CellChangedHandler (Object, CellEventArgs)

Purpose: Event handler for the CellChange event of a SmartUpdatableBrowser
Notes: Re-evaluates the rule when the user edits a grid cell

Parameters:
sender System.Object
The reference to the sender of the event
e Infragistics.Win.UltraWinGrid.CellEventArgs
The CellEventArgs with the data for this event
Top

Evaluate ()

Purpose: Evaluates the rule and enables/disables or shows/hides the control
based on the result
Notes: Resolves the tokens of the rule into an ABL expression using the
TokenResolver and evaluates the expression using the
AblExpressionEvaluator. The Enabled state is applied through the
SetControlEnabled method of the viewer, so that the resulting
enable mode (ControlEnabledEnum:Update or ControlEnabledEnum:Never)
is retained across the EnableFields/DisableFields cycles of the
viewer. When the evaluation fails, the rule is marked invalid and
the failure is logged once

Top

CHARACTER GetAdapterFieldLiteral (SmartDataAdapter, character)

Purpose: Returns the value of a field of a SmartDataAdapter as an ABL
expression literal
Notes: Resolves the field value using the GetFieldValues method of the
SmartDataAdapter and quotes the value based on the data type of
the field in the bound buffer

Parameters:
poAdapter Consultingwerk.SmartComponents.Base.SmartDataAdapter
The reference to the SmartDataAdapter instance
pcFieldName CHARACTER
The (optionally buffer qualified) name of the field
Returns CHARACTER
The ABL expression literal for the field value
Top

Consultingwerk.Framework.ExpressionParser.AblExpressionEvaluator GetEvaluator ()

Purpose: Returns the AblExpressionEvaluator instance used to evaluate the
rule expressions
Notes: A single instance is shared by all ViewerControlRule instances

Returns Consultingwerk.Framework.ExpressionParser.AblExpressionEvaluator
The reference to the AblExpressionEvaluator instance
Top

InitializeRule ()

Purpose: Initializes the rule
Notes: Resolves the instance references of the rule tokens, subscribes to
the change notification events of the referenced instances and the
bound editor controls and performs the initial evaluation of the
rule. When the initialization fails (e.g. a token cannot be
resolved), the rule is marked invalid and the failure is logged

Top

ReevaluateHandler (Object, EventArgs)

Purpose: Generic event handler that re-evaluates the rule
Notes: Used for all System.EventHandler based change notification events
of the referenced instances and the bound editor controls

Parameters:
sender System.Object
The reference to the sender of the event
e System.EventArgs
The System.EventArgs with the data for this event
Top

CHARACTER ResolveDataAdapterValue (SmartDataAdapter, character)

Purpose: Resolves the value of a property or field of a SmartDataAdapter
instance as an ABL expression literal
Notes: Supported properties are Available and SmartDataSourceState. All
other member names are resolved as field values using the
GetFieldValues method

Parameters:
poAdapter Consultingwerk.SmartComponents.Base.SmartDataAdapter
The reference to the SmartDataAdapter instance
pcMember CHARACTER
The name of the property or field to resolve
Returns CHARACTER
The ABL expression literal for the value
Top

CHARACTER ResolveDataBrowserValue (SmartBrowserControl, character)

Purpose: Resolves the value of a property or field of a SmartDataBrowser or
SmartUpdatableBrowser instance as an ABL expression literal
Notes: Supported properties are SmartTableIOState, AddingRecord and
CopyingRecord (SmartUpdatableBrowser only). All other member names
are resolved from the active grid row, falling back to the
SmartDataSource of the browser

Parameters:
poBrowser Consultingwerk.SmartComponents.Base.SmartBrowserControl
The reference to the SmartBrowserControl instance
pcMember CHARACTER
The name of the property or field to resolve
Returns CHARACTER
The ABL expression literal for the value
Top

CHARACTER ResolveMemberValue (Object, character)

Purpose: Resolves the value of a property or field of a referenced instance
as an ABL expression literal
Notes: Dispatches to the type specific resolution for SmartDataAdapter,
SmartViewerControl and SmartBrowserControl instances. Properties
of other .NET instance types are resolved through reflection

Parameters:
poInstance Progress.Lang.Object
The reference to the instance to resolve the member from
pcMember CHARACTER
The name of the property or field to resolve
Returns CHARACTER
The ABL expression literal for the value
Top

ResolveTokenInstances ()

Purpose: Resolves the instance references of the rule tokens
Notes: Tokens with an argument are resolved against the named object
instance of the DynamicForm hosting the viewer. Tokens without a
form instance match (including buffer qualified field names)
resolve against the viewer that contains the control

Top

CHARACTER ResolveViewerValue (SmartViewerControl, character)

Purpose: Resolves the value of a property or field of a SmartViewerControl
instance as an ABL expression literal
Notes: Supported properties are SmartTableIOState, AddingRecord and
CopyingRecord. All other member names are resolved from the bound
editor control, falling back to the SmartDataSource of the viewer

Parameters:
poViewerControl Consultingwerk.SmartComponents.Base.SmartViewerControl
The reference to the SmartViewerControl instance
pcMember CHARACTER
The name of the property or field to resolve
Returns CHARACTER
The ABL expression literal for the value
Top

SmartDataSourceChangedHandler (Object, EventArgs)

Purpose: Event handler for the SmartDataSourceChanged event of the viewer
Notes: Subscribes to the change notification events of the new
SmartDataSource and re-evaluates the rule. Needed as the
SmartDataSource link may be established after the viewer has been
loaded

Parameters:
sender System.Object
The reference to the sender of the event
e System.EventArgs
The System.EventArgs with the data for this event
Top

SubscribeDataAdapterEvents (SmartDataAdapter)

Purpose: Subscribes to the change notification events of a SmartDataAdapter
Notes: Each adapter instance is only subscribed once, even when referenced
by multiple rule tokens

Parameters:
poAdapter Consultingwerk.SmartComponents.Base.SmartDataAdapter
The reference to the SmartDataAdapter instance
Top

SubscribeEvents ()

Purpose: Subscribes to the change notification events of the viewer, the
instances referenced by the rule tokens and the bound editor
controls
Notes: The events of the viewer containing the control and its
SmartDataSource are always subscribed. For instances referenced by
rule tokens the instance level events are subscribed once per
referenced instance

Top

SubscribeViewerFieldControl (SmartViewerControl, character)

Purpose: Subscribes to the change notification event of the editor control
bound to the referenced field of a viewer
Notes: Uses the CheckStateChanged/CheckedChanged event for check editors
and the TextChanged event for all other editor controls. When the
referenced field resolves to neither an editor control nor a field
of the SmartDataSource of the viewer, a ViewerControlRuleException
is raised

Parameters:
poViewerControl Consultingwerk.SmartComponents.Base.SmartViewerControl
The reference to the viewer referenced by the rule token
pcMember CHARACTER
The name of the property or field referenced by the rule token
Top

TableIOStateChangedHandler (Object, SmartTableIOStateChangedEventArgs)

Purpose: Event handler for the SmartTableIOStateChanged event of viewers and
updatable browsers
Notes: Re-evaluates the rule

Parameters:
sender System.Object
The reference to the sender of the event
e Consultingwerk.SmartComponents.Base.SmartTableIOStateChangedEventArgs
The SmartTableIOStateChangedEventArgs with the data for this event
Top

TokenResolvedHandler (Object, TokenResolverEventArgs)

Purpose: Event handler for the TokenResolved event of the TokenResolver
Notes: Resolves the tokens of the rule into ABL expression literals.
Tokens that do not belong to this rule are left untouched

Parameters:
sender Progress.Lang.Object
The reference to the sender of the event
e OpenEdge.Core.Util.TokenResolverEventArgs
The TokenResolverEventArgs for this event
Top

UpdateStateChangedHandler (Object, DataSourceUpdateStateEventArgs)

Purpose: Event handler for the BeginUpdateState and EndUpdateState events of
a SmartDataAdapter
Notes: Re-evaluates the rule

Parameters:
sender System.Object
The reference to the sender of the event
e Consultingwerk.SmartComponents.Implementation.DataSourceUpdateStateEventArgs
The DataSourceUpdateStateEventArgs with the data for this event
Top

ViewerLoadedHandler (Object, EventArgs)

Purpose: Event handler for the Load event of the viewer
Notes: Initializes the rule during the OnLoad processing of the viewer,
when all controls of the viewer and the form instances have been
created

Parameters:
sender System.Object
The reference to the sender of the event
e System.EventArgs
The System.EventArgs with the data for this event


Constructor Detail
Top

ViewerControlRule (Control, character, SmartViewerControl, ViewerControlRuleTypeEnum)

Purpose: Constructor of the ViewerControlRule class
Notes: The initialization of the rule is delayed until the Load event of
the viewer, so that all controls of the viewer, the form instances
and the SmartDataSource link are available

Parameters:
poControl System.Windows.Forms.Control
The reference to the control to enable/disable or show/hide based on the rule
pcRule CHARACTER
The EnableRules or VisibilityRules expression from the repository attributes of the control
poViewer Consultingwerk.SmartComponents.Base.SmartViewerControl
The reference to the viewer containing the control, used to resolve the rule tokens
poRuleType Consultingwerk.Windows.Framework.Repository.Rendering.Viewer.ViewerControlRuleTypeEnum
The type of the rule (EnableRule or VisibilityRule)


Property Detail
Top

CHARACTER Rule


Returns CHARACTER
Top

Consultingwerk.Windows.Framework.Repository.Rendering.Viewer.ViewerControlRuleTypeEnum RuleType


Returns Consultingwerk.Windows.Framework.Repository.Rendering.Viewer.ViewerControlRuleTypeEnum


©2006-2026 Consultingwerk Ltd.         info@consultingwerk.de         http://www.consultingwerk.de       20.06.2026 07:32:26