Since the introduction of the WebService running mode in ComponentArt Grid, and related functionality (like the client-side load method), we have seen this approach rapidly gain popularity and, naturally, produce demands for more features and more versatility.
Versatility is key when it comes to UI controls, so we have been spending some time improving WebService mode in this respect. As of Web.UI 2008.2 SP2 (build 2008.2.1180) Grid has a number of new features.
WebServiceConfigMethod
In addition to being able to define ASP.NET AJAX web service methods for data selection, insertion, deletion, etc, it is now also possible to perform Grid configuration in a web service.
Rather than defining top-level properties,
GridLevels and their constituent
GridColumns and all the accompanying styles on the ASPX page where the Grid instance is placed, all of these can now be loaded on the fly by defining the
WebServiceConfigMethod server-side property and calling the client-side
webServiceConfig method.
GridWebServiceConfigResponse
The web service method performing Grid configuration is expected to return an object of the type
GridWebServiceConfigResponse. Such an object contains top-level property settings (contained in the
Properties member), and
GridLevel definitions (contained in the Levels property) which, in turn, can contain
GridColumns.
Configuration can be done at any time on the client, without going back to the server from which the ASPX file originated. The configuration request passes in an optional custom parameter, so that configuration can be context-dependent.
GridWebServiceSelectRequest.Columns
To enable such potential on-the-fly changes to the Grid’s layout and definition,
GridWebServiceSelectRequest now contains a
Columns property. With every web service data request, Grid now sends along the collection of columns (data fields) that it expects on the client. This allows the web service selection logic to account for on-the-fly changes in the Grid’s client-side configuration, and always provide the required data.
And More
In addition to the above, a number of other enhancements to web service functionality have been made which should simplify its use in many scenarios and enable altogether new ones.
For example,
GridWebServiceSelectResponse.Items can now contain simple arrays of objects corresponding to the rows of data requested by the Grid. Simple proxy classes no longer need to be defined, as long as the order of data in the arrays matches the fields specified in
GridWebServiceSelectRequest.Columns.
The select response can now also contain hierarchical data, with rows containing more rows defined on the second (or third, etc)
GridLevel. To keep on topic, I will write more on this particular functionality at a later date.
Cheers, and thanks for stopping by!