protected function prepare()
    {
        if ($this->prepared) {
            return $this;
        }

        if ($this->source->isDataLoaded()) {
            $this->rows = $this->source->executeFromData($this->columns->getIterator(true), $this->page, $this->limit, $this->maxResults);
        } else {
            $this->rows = $this->source->execute($this->columns->getIterator(true), $this->page, $this->limit, $this->maxResults, $this->dataJunction);
        }

        if (!$this->rows instanceof Rows) {
            throw new \Exception(self::NO_ROWS_RETURNED_EX_MSG);
        }

        if (count($this->rows) == 0 && $this->page > 0) {
            $this->page = 0;
            $this->prepare();

            return $this;
        }

        //add row actions column
        if (count($this->rowActions) > 0) {
            foreach ($this->rowActions as $column => $rowActions) {
                if (($actionColumn = $this->columns->hasColumnById($column, true))) {
                    $actionColumn->setRowActions($rowActions);
                } else {
                    $actionColumn = new ActionsColumn($column, $this->actionsColumnTitle, $rowActions);
                    if ($this->actionsColumnSize > -1) {
                        $actionColumn->setSize($this->actionsColumnSize);
                    }

                    $this->columns->addColumn($actionColumn);
                }
            }
        }

        //add mass actions column
        if (count($this->massActions) > 0) {
            $this->columns->addColumn(new MassActionColumn(), 1);
        }

        $primaryColumnId = $this->columns->getPrimaryColumn()->getId();

        foreach ($this->rows as $row) {
            $row->setPrimaryField($primaryColumnId);
        }

        //get size
        if ($this->source->isDataLoaded()) {
            $this->source->populateSelectFiltersFromData($this->columns);
            $this->totalCount = $this->source->getTotalCountFromData($this->maxResults);
        } else {
            $this->source->populateSelectFilters($this->columns);
            $this->totalCount = $this->source->getTotalCount($this->maxResults);
        }

        if (!is_int($this->totalCount)) {
            throw new \Exception(sprintf(self::INVALID_TOTAL_COUNT_EX_MSG, gettype($this->totalCount)));
        }

        $this->prepared = true;

        return $this;
    }
protected function prepare()
    {
        if ($this->prepared) {
            return $this;
        }

        if ($this->source->isDataLoaded()) {
            $this->rows = $this->source->executeFromData($this->columns->getIterator(true), $this->page, $this->limit, $this->maxResults);
        } else {
            $this->rows = $this->source->execute($this->columns->getIterator(true), $this->page, $this->limit, $this->maxResults, $this->dataJunction);
        }

        if (!$this->rows instanceof Rows) {
            throw new \Exception(self::NO_ROWS_RETURNED_EX_MSG);
        }

        if (count($this->rows) == 0 && $this->page > 0) {
            $this->page = 0;
            $this->prepare();

            return $this;
        }

        //add row actions column
        if (count($this->rowActions) > 0) {
            foreach ($this->rowActions as $column => $rowActions) {
                if (($actionColumn = $this->columns->hasColumnById($column, true))) {
                    $actionColumn->setRowActions($rowActions);
                } else {
                    $actionColumn = new ActionsColumn($column, $this->actionsColumnTitle, $rowActions);
                    if ($this->actionsColumnSize > -1) {
                        $actionColumn->setSize($this->actionsColumnSize);
                    }

                    $this->columns->addColumn($actionColumn);
                }
            }
        }

        //add mass actions column
        if (count($this->massActions) > 0) {
            $this->columns->addColumn(new MassActionColumn(), 1);
        }

        $primaryColumnId = $this->columns->getPrimaryColumn()->getId();

        foreach ($this->rows as $row) {
            $row->setPrimaryField($primaryColumnId);
        }

        //get size
        if ($this->source->isDataLoaded()) {
            $this->source->populateSelectFiltersFromData($this->columns);
            $this->totalCount = $this->source->getTotalCountFromData($this->maxResults);
        } else {
            $this->source->populateSelectFilters($this->columns);
            $this->totalCount = $this->source->getTotalCount($this->maxResults);
        }

        if (!is_int($this->totalCount)) {
            throw new \Exception(sprintf(self::INVALID_TOTAL_COUNT_EX_MSG, gettype($this->totalCount)));
        }

        $this->prepared = true;

        return $this;
    }
protected function prepare ( ) { if ( $ this -> prepared ) { return $ this ; } if ( $ this -> source -> isDataLoaded ( ) ) { $ this -> rows = $ this -> source -> executeFromData ( $ this -> columns -> getIterator ( true ) , $ this -> page , $ this -> limit , $ this -> maxResults ) ; } else { $ this -> rows = $ this -> source -> execute ( $ this -> columns -> getIterator ( true ) , $ this -> page , $ this -> limit , $ this -> maxResults , $ this -> dataJunction ) ; } if ( ! $ this -> rows instanceof Rows ) { throw new \ Exception ( self :: NO_ROWS_RETURNED_EX_MSG ) ; } if ( count ( $ this -> rows ) == 0 && $ this -> page > 0 ) { $ this -> page = 0 ; $ this -> prepare ( ) ; return $ this ; } //add row actions column if ( count ( $ this -> rowActions ) > 0 ) { foreach ( $ this -> rowActions as $ column => $ rowActions ) { if ( ( $ actionColumn = $ this -> columns -> hasColumnById ( $ column , true ) ) ) { $ actionColumn -> setRowActions ( $ rowActions ) ; } else { $ actionColumn = new ActionsColumn ( $ column , $ this -> actionsColumnTitle , $ rowActions ) ; if ( $ this -> actionsColumnSize > - 1 ) { $ actionColumn -> setSize ( $ this -> actionsColumnSize ) ; } $ this -> columns -> addColumn ( $ actionColumn ) ; } } } //add mass actions column if ( count ( $ this -> massActions ) > 0 ) { $ this -> columns -> addColumn ( new MassActionColumn ( ) , 1 ) ; } $ primaryColumnId = $ this -> columns -> getPrimaryColumn ( ) -> getId ( ) ; foreach ( $ this -> rows as $ row ) { $ row -> setPrimaryField ( $ primaryColumnId ) ; } //get size if ( $ this -> source -> isDataLoaded ( ) ) { $ this -> source -> populateSelectFiltersFromData ( $ this -> columns ) ; $ this -> totalCount = $ this -> source -> getTotalCountFromData ( $ this -> maxResults ) ; } else { $ this -> source -> populateSelectFilters ( $ this -> columns ) ; $ this -> totalCount = $ this -> source -> getTotalCount ( $ this -> maxResults ) ; } if ( ! is_int ( $ this -> totalCount ) ) { throw new \ Exception ( sprintf ( self :: INVALID_TOTAL_COUNT_EX_MSG , gettype ( $ this -> totalCount ) ) ) ; } $ this -> prepared = true ; return $ this ; }
Prepare Grid for Drawing.

@throws \Exception

@return self
Prepare Grid for Drawing .