//Fetch method protected void executeFetch(final String requestId, final DSRequest request, final DSResponse response) { GridDSCallBack> callBack = new GridDSCallBack>(requestId, response, this) { @Override protected void onResult(PagedList result) { ListGridRecord[] records = toRecords(result); // We create ListGridRecord[] based on toRecord() response.setData(records); response.setTotalRows(result.getTotalRows()); if (dataArrivalCallBack != null) { dataArrivalCallBack.onResult(result); } } }; //toRecord() -- using beanhelper we create JS object and set it to the ListGridRecord. public static ListGridRecord[] toRecords(DataPagedList dataPList, TransferObjectInfo beanInfo) { DataPagedListBeanHelper dataPagedListBeanHelper = new DataPagedListBeanHelper(beanInfo); List rows = dataPList.getDataList(); ListGridRecord[] records = new ListGridRecord[rows.size()]; for (int i = 0; i < records.length; i++) { JavaScriptObject jso = dataPagedListBeanHelper.createJSOFromBean(rows.get(i)); records[i] = new ListGridRecord(jso); } return records; } As we dont use bean, not able to serialize the data, I guesss. any suggestion on this