Batching for Telerik

Posted by mflanegan on 19-Feb-2016 05:51

Hi All,

How do you perform batching with the new Kendo UI grids when you have 1000 records on the appserver side and you want to return 50 records at a time to the client?

batch: true just seems to perform batching on the client side through the current available records.

Please can someone advise how I would go about doing this.

TIA

All Replies

Posted by egarcia on 19-Feb-2016 06:14

Hello Meyrick,

The batch option in the Kendo UI Grid is for batch updates where multiple updates are combined and send to the server.

We support this with the Submit operation.

To return 50 records at a time to the client, you would set serverPaging,serverFiltering and serverSorting to true and implement the JSON Filter Pattern in the backend.

You can take a look at the sample files and the videos in the mobile workshop that is in the wiki:

community.progress.com/.../2568.a-sexy-ui-for-progress-openedge-using-jsdo-oe-mobile-template-and-kendo-ui-with-sorting-filtering-and-paging

In particular, take a look at the video titled "Advanced Business Entity".

For info on the JSDO Filter Pattern, take a look at the documentation which include a more recent version of the sample implementation:

documentation.progress.com/.../

I hope this helps.

Edsel

Posted by Elsworth Burmeister on 18-Mar-2016 07:25

Hi Edsel

Ive added the code from the documentation to mine (appserver code). However i cant figure out how to use the example from the client side... from within the kendo grid.

I have my filter for the grid setup like this.

filter: {ablFilter: "prt-type = 'CT'",top: '15',id: '1'},

is this correct?

Im not sure how to use the capabilities in the annotations from the example in the documentation.

Is there a working example in jsfiddle or something on how to use these capabilities with the grid for batching?

TIA

Posted by egarcia on 21-Mar-2016 05:17

Hello gryphon,

Your filter in the Grid setup should look like the following:

     serverPaging: true,

     serverFiltering: true,

     serverSorting: true,

     filter: { field: "Name", operator: "endswith", value: "e" },

See a running example at oemobiledemo.progress.com/.../example014b.html

This filter expression is a filter expression for the Kendo UI DataSource:

   docs.telerik.com/.../datasource

   docs.telerik.com/.../datasource

There are 3 components working together to perform the filtering:

1) Kendo UI DataSource

2) JSDO

3) Business Entity using the JSON Filter Pattern - mappingType: "JFP"

The Kendo UI DataSource uses a Kendo UI filter which passes internally to the JSDO (JSDO DataSource / transport).

The JSDO uses the mappingType ("JFP") and capabilities defined via the annotations and listed in the catalog, to convert the Kendo UI filter into a string using the JSON Filter Pattern, i.e., a JSON object serialized into string with the capabilities as properties representing the query. (Multiple parameters go into the string.)

The Business Entity receives the filter string and uses the code from the documentation (or your own implementation) to extract the parameters and process the query.

You do not need to use the capabilities directly. The JSDO does the mapping internally.

Please let me know if you need more information on this.

Edsel

This thread is closed