Page History
...
Code Block | ||||
---|---|---|---|---|
| ||||
$scope.getGroupedChildFoundsetUUID = function(parentFoundset, parentRecordFinder, parentLevelGroupColumnIndex, newLevelGroupColumnIndex) { if (!parentFoundset) parentFoundset = $scope.model.myFoundset.foundset; var childQuery = parentFoundset.getQuery(); if (parentLevelGroupColumnIndex == undefined) { // this is the first grouping operation; alter initial query to get all first level groups (...) } else { // this is an intemediate group expand; alter query of parent level for the child level childQuery.groupBy.clear(); childQuery.groupBy.add(childQuery .columns[$scope.model.columns[newLevelGroupColumnIndex].dataprovider]); var parentGroupColumnName = $scope.model.columns[parentLevelGroupColumnIndex].dataprovider; childQuery.where.add(childQuery.columns[parentGroupColumnName] .eq(parentRecordFinder(parentFoundset)[parentGroupColumnName])); } var childFoundset = parentFoundset.duplicateFoundSet(); childFoundset.loadRecords(childQuery); var dps = {}; for (var idx = 0; idx < $scope.model.columns.length; idx++) { dps["dp" + idx] = $scope.model.columns[idx].dataprovider; } $scope.model.hashedFoundsets.push({ foundset: { foundset: childFoundset, dataproviders: dps, sendSelectionViewportInitially: false, initialPreferredViewPortSize: 15 }, foundsetUUID: childFoundset}); // send it to client as a foundset property with a UUID return childFoundset; // return the UUID that points to this foundset (return type will make it UUID) }; |
For version prior to Servoy 8.2 please use "api" instead of "internalApi" below:
Code Block | ||||
---|---|---|---|---|
| ||||
"serverscript": "mycomppck/mycompname/mycomp_server.js", (...) "model": { "columns": { "type": "columnDef[]", "droppable": true }, "hashedFoundsets": { "type": "hashedFoundset[]", "default": [] } (...) "types": { "columnDef": { "dataprovider": { "type": "dataprovider", "forFoundset": "myFoundset" } (...) }, "hashedFoundset" : { "foundset": "foundset", "foundsetUUID": "foundsetRef" } }, "apiinternalApi" : { "getGroupedChildFoundsetUUID" : { "returns" : "foundsetRef", "parameters" : [{ "name" : "parentFoundset", "type" : "foundsetRef" }, { "name" : "parentRecordFinder", "type" : "rowRef" }, { "name": "parentLevelGroupColumnIndex", "type": "int" }, { "name": "newLevelGroupColumnIndex", "type": "int" } ] }, (...) |
Overview
Content Tools
Activity