protected function getTableMetaData() { $parentMeta = parent::getTableMetaData(); $tab = new DBTable($this->db, $this->gridQuery . ' LIMIT 1', null, DB::FETCH_ASSOC); if (!$tab->ok()) { return false; } foreach (array_keys($tab->getRow(0)) as $col) { if (!isset($this->columnTitles[$col])) { $this->columnTitles[$col] = $this->convertColumnToTitle($col); $this->cellAttributes[$col] = []; } } $displayColumns = array_keys($tab->getRow(0)); $columnNames = array_keys($this->columnTitles); foreach ($columnNames as $columnName) { if (!in_array($columnName, $displayColumns)) { unset($this->columnTitles[$columnName]); unset($this->cellAttributes[$columnName]); unset($this->displayType[$columnName]); } } return true; }