Extending : Widget extension : Advanced topics : Adding customized widgets into cellWidgetGroup : Runtime support
  
Runtime support
For widgets in the cellWidgetGroup, most properties are the same, but we replace the "dataName" with "cellWidgetDataName" to let the server side not find the "dataName" and not fetch the values through "dataName" in the rendering process of the inside widget tags.
The table tag extracts the value of "cellWidgetDataName" and the get the values of the data elements from context. These values are for widgets inside columns and are put together with the JSON string o f column data. Actually the table extracts the values based on the patterns of "cellWidgetData***='****'", so besides the "cellWidgetDataName", other properties like "cellWidgetDataNameForList" can be extracted as well.
A new Javascript base class "com.ibm.btt.dijit.CellWidgetMixin" has been created. If some widgets need to work inside the table cells, like the Button, Link, Label etc. It is required that the widgets extend from the "com.ibm.btt.dijit.CellWidgetMixin".
As we have mentioned in the "JSP tag support", the values related to "cellWidgetData***" have been put into the JSON string. The string will be sent to browser side with the page response.
One new kind of grid cell dijit class is required to handle the data binding. The class extends from the "dojox.btt.grid.cells.MultiCellWidget", like the following shows.
This graphic is described in the surrounding text.
In the class definition, the "widgetClass" indicates the widget class of which objects will been handled with the corresponding handling function defined as the "init".
The special point is that the class needs instantiating to register the handler to the corresponding class.
See also
Adding customized widgets into cellWidgetGroup