Release 10.1A: OpenEdge Development:
Progress Dynamics Advanced Development

> ## Defining user interface events in Progress Dynamics

> The example you have created attaches an action to an ADM event, the `displayFields` event. This defines when it is executed relative to the overall sequence of SmartObject events. In addition, you will often want to define actions that occur when a user interface event occurs, such as choosing a button or changing a value. Progress Dynamics supports the definition of these UI events, so that you can associate code with events in dynamic objects.

> You can define UI events for objects such as a dynamic viewer using the dynamic property sheet in the AppBuilder. For more information, see OpenEdge Development: Progress Dynamics Basic Development .

> Note that Repository data is not created for the fields in a static viewer, although the viewer itself and its attributes are registered in the Repository, allowing you, for example, to define a custom super procedure for the static viewer. When you create a dynamic viewer using the Object Generator or the AppBuilder, not only is the viewer itself registered in the Repository, but there is a whole set of object and attribute values created for each of the fields and other objects in the viewer. It is this data that the dynamic viewer procedure uses to instantiate the viewer at run time. If you want to define UI events for field events such as `VALUE-CHANGED`, you can do this only for dynamic viewers, not static ones.

> Next, you must construct a window with a dynamic viewer in it to use to continue the client logic example. There is a layout template already defined in the Repository that you can use as a basis for a simple test window. It has the rather dense but all-inclusive name `rywinbrsdynvw`. This window has slots for an SDO, a dynamic browser, and a dynamic viewer, in addition to the standard toolbar.

> | To create a `Customer` test window:

> 1. Select New Independent Window in the AppBuilder.

> 2. Give the window an Object Name such as custdynwin.

> 3. Specify rywinbrsdynvw as the Container Template.

> 4. Replace the template SDO, browser, and viewer with those the Object Generator created for the `Customer` table, as shown:

> 5. Save the new container.

Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095