CreateEvent"
From Documentation
Line 17: | Line 17: | ||
= Notes = | = Notes = | ||
− | == Don't use with data binding == | + | == Don't use with data binding (prior to 5.0.4) == |
+ | |||
+ | Since 5.0.4, <tt>onCreate</tt> will be fired for each cloned component, so it is safe to use <tt>onCreate</tt> with the data binder | ||
When the data binder processed a collection of data in, say, a grid or a listbox, it will detach the original one, and then clone it to represent each item of the data. For example, | When the data binder processed a collection of data in, say, a grid or a listbox, it will detach the original one, and then clone it to represent each item of the data. For example, |
Revision as of 08:39, 7 July 2010
CreateEvent
- Demonstration: N/A
- Java API: CreateEvent
- JavaScript API: N/A
Employment/Purpose
Used to notify a window that all its children are created and initialized. UiEngine post this event to components that declares the onCreate handler (either as a method or as in instance definition).
Example
N/A
Notes
Don't use with data binding (prior to 5.0.4)
Since 5.0.4, onCreate will be fired for each cloned component, so it is safe to use onCreate with the data binder
When the data binder processed a collection of data in, say, a grid or a listbox, it will detach the original one, and then clone it to represent each item of the data. For example,
<listbox model="@{person.interests}">
<listitem self="@{each=obj}" value="@{obj}" onCreate="foo()"/>
</listbox>
where the execution sequence is as follows.
- ZK Loader creates a listbox and a listitem, and posts onCreate to the listitem (since it has a listener).
- The data binder processes all annotations, after all components are created.
- When handling each, the data binder detaches the listitem, invokes Component.clone() to make a clone for each item (person.interests), and attach the clone to the listbox.
- The listitem created by ZK Loader receives onCreate. Thus, whatever change the listener made won't affect the listitems attached the listbox (by the data binder).
In summary, when using data binding, don't use onCreate
.
Supported events
None | None |
Supported Children
*NONE
Use cases
Version | Description | Example Location |
---|---|---|
Version History
Version | Date | Content |
---|---|---|