protected function resolveDrillDownDetailsData($report)
 {
     $pageSize = Yii::app()->pagination->resolveActiveForCurrentUserByType('reportResultsSubListPageSize', $report->getModuleClassName());
     $dataProvider = ReportDataProviderFactory::makeForSummationDrillDown($report, $pageSize);
     $totalItems = intval($dataProvider->calculateTotalItemCount());
     $dataProvider->getPagination()->setPageSize($totalItems);
     $reportToExportAdapter = ReportToExportAdapterFactory::createReportToExportAdapter($report, $dataProvider);
     $drillDownHeaderData = $reportToExportAdapter->getHeaderData();
     $drillDownData = $reportToExportAdapter->getData();
     $this->data[] = array_merge(array(null), $drillDownHeaderData);
     if (!empty($drillDownData)) {
         foreach ($drillDownData as $row) {
             $this->data[] = array_merge(array(null), $row);
         }
     }
 }
 public function actionDrillDownDetails($id, $rowId)
 {
     $savedReport = SavedReport::getById((int) $id);
     ControllerSecurityUtil::resolveCanCurrentUserAccessModule($savedReport->moduleClassName);
     ControllerSecurityUtil::resolveAccessCanCurrentUserReadModel($savedReport, true);
     $report = SavedReportToReportAdapter::makeReportBySavedReport($savedReport);
     $report->resolveGroupBysAsFilters(GetUtil::getData());
     if (null != ($stickyData = StickyReportUtil::getDataByKey($report->id))) {
         StickyReportUtil::resolveStickyDataToReport($report, $stickyData);
     }
     $pageSize = Yii::app()->pagination->resolveActiveForCurrentUserByType('reportResultsSubListPageSize', get_class($this->getModule()));
     $dataProvider = ReportDataProviderFactory::makeForSummationDrillDown($report, $pageSize);
     $dataProvider->setRunReport(true);
     $view = new SummationDrillDownReportResultsGridView('default', 'reports', $dataProvider, $rowId);
     $content = $view->render();
     Yii::app()->getClientScript()->setToAjaxMode();
     Yii::app()->getClientScript()->render($content);
     echo $content;
 }