Example #1
0
 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);
     }
 }