A general implementation of the ChildRowDataProvider
interface that can be used when child row data is provided by DataProviders
that do not allow for easy name spacing of child row data. An example is container based child row data using the already existing container based
data providers the call backs do not specify which container they refer to. This means a mechanism for linking child row updates to a parent row is required
once you have multiple child rows open.
The mechanism used is simply "wrapping" the child row data provider in a wrapper class such as
caplin.grid.dataprovider.expandable.ContainerChildRowDataProviderWrapper or
caplin.grid.dataprovider.expandable.SL4BSubjectChildRowDataProviderWrapper. The use of these wrapping classes means any child row data
provider calls need to be proxied on to all the wrapper classes when multiple child rows are open. In other words when a grid is closed all wrapper
classes need to be told to terminateUpdates
. This class generalises the proxy code so both the
caplin.grid.dataprovider.expandable.SL4BSubjectChildRowDataProvider and caplin.grid.dataprovider.expandable.ContainerChildRowDataProvider
can use common code.
Attributes | Name and Description |
---|---|
|
caplin.grid.dataprovider.expandable.WrappedChildRowDataProvider(caplin.grid.dataprovider.expandable.ExpandableRowGridDataProvider oExpandableRowGridDataProvider, caplin.grid.GridColumnModel oGridColumnModel, String sConfigClass)
A general implementation of the |
Attributes | Name and Description |
---|---|
|
void
getChildRowConfig(String sParentSubject, Object oWrapper)
and caplin.grid.dataprovider.expandable.ContainerChildRowDataProvider call this method to get the config class they have set in their grid definition XML via the "config" attribute. |
|
void
setChildRowWrapper(String sParentSubject, Object oWrapper)
and caplin.grid.dataprovider.expandable.ContainerChildRowDataProvider
call this method in their |
►
caplin.grid.dataprovider.expandable.WrappedChildRowDataProvider(caplin.grid.dataprovider.expandable.ExpandableRowGridDataProvider oExpandableRowGridDataProvider, caplin.grid.GridColumnModel oGridColumnModel, String sConfigClass)
A general implementation of the ChildRowDataProvider
interface.
caplin.grid.dataprovider.expandable.ExpandableRowGridDataProvider | oExpandableRowGridDataProvider | The expandable grid row data provider |
caplin.grid.GridColumnModel | oGridColumnModel | The grid column model |
String | sConfigClass | The config class. |
►
void
getChildRowConfig(String sParentSubject, Object oWrapper)
and caplin.grid.dataprovider.expandable.ContainerChildRowDataProvider call this method to get the config class they have set in their grid definition XML via the "config" attribute.
String | sParentSubject | The subject of the row that has been opened. |
Object | oWrapper | The wrapper object that provides the child row data. |
►
void
setChildRowWrapper(String sParentSubject, Object oWrapper)
and caplin.grid.dataprovider.expandable.ContainerChildRowDataProvider
call this method in their getExpandedRowData
when they have created the wrapper class that provides the child row data.
String | sParentSubject | The subject of the row that has been opened. |
Object | oWrapper | The wrapper object that provides the child row data. |