This is the abstract base class used by all model classes within
the Zen Model-View-Controller mechanism.
Subclasses of this class are used to implement the Model portion of the Zen
A DataModel class provides a generic mechanism to take
data values from one or more sources (such as from a persistent object,
external database, or directly from a global) and place these
values into the properties of the DataModel.
Return a list describing the properties within this DataModel.
These are returned as an array of the form:
pList(propname) = seqno
seqno, if present, is the ordinal position of this control on the form.
If pExtended is true (1), then the array will include
additional nodes for each property. This information is used to
create dynamic forms for this model. The extra nodes may include:
pList(name,"%type") = suggested control type for dynaForm<.br>
pList(name,"size") = size used for controls.
pList(name,"group") = id of group within dynaForm to place control. pContainer is the name of the containing property if this data model
is embedded in another data model object.
This callback method, if present, is called by the %GetPropertyInfo()
method. This gives subclasses the opportunity to add additional property
descriptions to the DataModel. pIndex is the number of elements (plus one) already in the list.
This should be used as a starting sequence number when adding
new properties to the list.
Create an in-memory instance of a DataModel object and load
data into it properties.
This is implemented by the subclasses of this class.
The signature of this method is designed to match the %OpenId method
of persistent classes.