private function walkChildren($Node, $Path = '', $Label = '') { $ALTERNATING = 0; if ($this->check_forChildren($Node)) { //hier checken wir, ob noch Pivot Kinder existieren foreach ($this->get_Children($Node) as $CurrentDimension) { $FirstColum = new TTableRow(); $this->mastertable->Rows[] = $FirstColum; $cell = new TTableCell(); $cell->Text = $CurrentDimension->stammdaten_name; $cell->setRowSpan($this->calc_NumberNextLevel($Node)); fmod($ALTERNATING, 2) == 0 ? $cell->setCssClass('listalternating') : $cell->setCssClass('listnonealternating'); $FirstColum->Cells[] = $cell; $ALTERNATING++; foreach ($this->get_PivotChildren($Node) as $PivotNode) { $TmpPath = $Path . $CurrentDimension->idtm_stammdaten . 'xx'; $this->walkChildren($PivotNode, $TmpPath, $CurrentDimension->stammdaten_name); } } } else { $this->ParentDimCounter++; $PFPivot = new PFCalculator(); $PFPivot->setFeldFunktion($this->PivotBerichtRecord->idta_feldfunktion); $PFPivot->setStartPeriod($this->Periode); $PFPivot->GLOBALVARIANTE = $this->PivotBerichtRecord->idta_variante; $PFPivot->loadDimension($Node); $PFPivot->buildPivotCondition($Path); $PFPivot->dimension = $Label; $PFPivot->setOperator($this->PivotBerichtRecord->pivot_bericht_operator); $this->draw_cells($PFPivot); } }