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; }