Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/web/action/GradebookAction.java =================================================================== diff -u -r1987f0f443399796f1ab8800d2baed906258ee74 -r275ec50583146c85babb11a02f33890e5e83bb09 --- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/web/action/GradebookAction.java (.../GradebookAction.java) (revision 1987f0f443399796f1ab8800d2baed906258ee74) +++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/web/action/GradebookAction.java (.../GradebookAction.java) (revision 275ec50583146c85babb11a02f33890e5e83bb09) @@ -178,7 +178,14 @@ JSONArray rowsJSON = new JSONArray(); for (GradebookGridRowDTO gradebookActivityDTO : gradebookActivityDTOs) { JSONObject rowJSON = new JSONObject(); - rowJSON.put(GradebookConstants.ELEMENT_ID, gradebookActivityDTO.getId()); + String id = gradebookActivityDTO.getId(); + String[] idParts = id.split("_"); + if (idParts.length > 1) { + // if activity is grouped, use just the real activity ID and leave out group ID + // as we know there will be no ID clash in this single learner gradebook table + id = idParts[0]; + } + rowJSON.put(GradebookConstants.ELEMENT_ID, id); JSONArray cellJSON = new JSONArray(); cellJSON.put(gradebookActivityDTO.getRowName());