protected function hasHeader() {
        
        // go through the column definitions
        for ($i=0; $i<count($this->columnDefinitions); ++$i) {
            
            // if one column has header text
            if ($this->columnDefinitions[$i]->hasHeaderText()) {
                
                // then there is a header
                return true;
            }
        }
        
        // none of the columns had header text
        return false;
    }