// Update Row Number column values private void updateRowNumberColumnValues(DynamicData data, int iCol) { int iRowNum = 1; for (int iRow = 0; iRow < data.size(); iRow++) { DynamicDataRow row = data.get(iRow); if (row instanceof GroupedDynamicDataRow) { GroupedDynamicDataRow groupedRow = (GroupedDynamicDataRow) row; // Setting value on a GroupedCellValue causes all children to assume the same value groupedRow.get(iCol).setValue(new BigDecimal(iRowNum)); for (int iGroupedRow = 0; iGroupedRow < groupedRow.getChildRows().size(); iGroupedRow++) { groupedRow.getChildRows().get(iGroupedRow).get(iCol).setValue(new BigDecimal(iRowNum)); iRowNum++; } } else { row.get(iCol).setValue(new BigDecimal(iRowNum)); iRowNum++; } } }
// Update Salience column values private void updateSalienceColumnValues(DynamicData data, int iCol, boolean isReverseOrder) { if (!isReverseOrder) { updateRowNumberColumnValues(data, iCol); } else { // Get total row count int rowCount = 0; for (int iRow = 0; iRow < data.size(); iRow++) { DynamicDataRow row = data.get(iRow); if (row instanceof GroupedDynamicDataRow) { GroupedDynamicDataRow groupedRow = (GroupedDynamicDataRow) row; rowCount = rowCount + groupedRow.getChildRows().size(); } else { rowCount++; } } int iRowNum = 0; for (int iRow = 0; iRow < data.size(); iRow++) { DynamicDataRow row = data.get(iRow); if (row instanceof GroupedDynamicDataRow) { GroupedDynamicDataRow groupedRow = (GroupedDynamicDataRow) row; // Setting value on a GroupedCellValue causes all children to assume the same value groupedRow.get(iCol).setValue(new BigDecimal(rowCount - iRowNum)); for (int iGroupedRow = 0; iGroupedRow < groupedRow.getChildRows().size(); iGroupedRow++) { groupedRow .getChildRows() .get(iGroupedRow) .get(iCol) .setValue(new BigDecimal(rowCount - iRowNum)); iRowNum++; } } else { row.get(iCol).setValue(new BigDecimal(rowCount - iRowNum)); iRowNum++; } } } }