Prado\Web\UI\WebControls\TDataGrid::createAutoColumns PHP Method

createAutoColumns() protected method

Automatically generates datagrid columns based on datasource schema
protected createAutoColumns ( $dataSource ) : TDataGridColumnCollection
return TDataGridColumnCollection
    protected function createAutoColumns($dataSource)
    {
        if (!$dataSource) {
            return null;
        }
        $autoColumns = $this->getAutoColumns();
        $autoColumns->clear();
        foreach ($dataSource as $row) {
            foreach ($row as $key => $value) {
                $column = new $this->AutoGenerateColumnName();
                if (is_string($key)) {
                    $column->setHeaderText($key);
                    $column->setDataField($key);
                    $column->setSortExpression($key);
                    $autoColumns->add($column);
                } else {
                    $column->setHeaderText(TListItemType::Item);
                    $column->setDataField($key);
                    $column->setSortExpression(TListItemType::Item);
                    $autoColumns->add($column);
                }
            }
            break;
        }
        return $autoColumns;
    }