adds a new column

@param string $acronym
@param null $type
@param array $options
@return $this
171833
public function addColumn($acronym, $type = null, array $options = [])
    {
        if (in_array($acronym, $this->reservedColumnAcronyms)) {
            throw new ReservedColumnAcronymException($acronym);
        }

        if ($type === null) {
            $type = Column::class;
        }

        $column = new $type($acronym, $options);

        // only DoctrineTable can sort nested properties. Therefore disable them for other tables.
        if (!$this instanceof DoctrineTable && $column instanceof SortableColumnInterface && $column->isSortable()) {
            if (strpos($column->getSortExpression(), '.') !== false) {
                $column->setSortable(false);
            }
        }

        if ($column instanceof TemplateableColumnInterface) {
            $column->setTemplating($this->templating);
        }

        if ($column instanceof SortableColumnInterface) {
            $column->setTableIdentifier($this->getIdentifier());
        }

        if ($column instanceof FormattableColumnInterface) {
            $column->setFormatterManager($this->formatterManager);
        }

        $this->columns->set($acronym, $column);

        return $this;
    }
776246
public function addColumn($name, $display = null, $type = 'text',
                              $value = null, $opts = array())
    {
        // Replace currency
        if ($type == self::TYPE_CURRENCY) {
            $type = self::TYPE_CUSTOM;

            $opts['customBuilder'] = 'appendGridCurrencyBuilder';
            $opts['customGetter']  = 'appendGridCurrencyGetter';
            $opts['customSetter']  = 'appendGridCurrencySetter';

            if ($value === null) {
                $value = '0.00';
            }

            $this->requireAccounting = true;
        }

        parent::addColumn($name, $display, $type, $value, $opts);
    }
604256
public function addColumn($column, $type, $table = null)
    {
        return $this->db->alterTable($this->getTable($table))
                        ->addColumn($column, $type)
                        ->execute();
    }
1256512
public function bindColumn($column, &$param, $type = null)
    {
        if ($type === null) :
            $this->_statement->bindColumn($column, $param);
        else :
            $this->_statement->bindColumn($column, $param, $type);
        endif;
    }
592602
public function column($identifier, $options = []):self
    {
        if (is_callable($options)) {
            $column = new TextColumn($identifier, $options);
        } else {
            $column = new TextColumn($identifier, $options);
        }

        $this->columns->put($identifier, $column);

        return $this;
    }
960636
public function create($name, $type, array $options)
    {
        if (is_string($type)) {
            $type = $this->registry->getType($type);
        }
        if (!$type instanceof WidgetTypeInterface) {
            throw new \InvalidArgumentException('Unexpected widget type.');
        }

        $options['name'] = $name;

        $resolver = new OptionsResolver();
        $type->configureOptions($resolver);
        $options = $resolver->resolve($options);

        $widget = new Widget($name, $type);
        $type->buildWidget($widget, $options);

        return $widget;
    }
1155480
public function addIndex($columnName, $type = Table::INDEX_REGULAR) {
        if (!array_key_exists($columnName, $this->getIndexes()) && !array_key_exists($columnName,
                        $this->newIndexes))
                $this->newIndexes[$columnName] = $type;
        return $this;
    }
1120362
private function addUnion(?string $type, $sql, array $params = [])
    {
        $this->unions[] = [
            'type'   => $type,
            'sql'    => $sql,
            'params' => $params,
        ];

        return $this;
    }
621038
protected function addColumn($name, $null, $default, $type, $size, $auto, $unsigned)
    {
        $this->columns[$name] = [
            'name' => $name,
            'null' => $null,
            'default' => $default,
            'type' => $type,
            'size' => $size,
            'auto' => $auto,
            'unsigned' => $unsigned
        ];
    }
57329
protected function column($type, $parameters = array())
		{
			$parameters = array_merge(compact('type'), $parameters);
			$this->columns[] = new Fluent($parameters);
			return end($this->columns);
		}
648508
public function addColumn ($column_name, $label, $options = array()) {
        $this->sqlProvider->addColumn($column_name, $column_name, $label, $options);
        return $this;
    }
624432
protected function createTableBuilder(array $options = array(), $type = DataTableType::class)
    {
        return $this->get(DataTableFactory::class)->createBuilder($type, $options);
    }
692566
public function addField(string $name, $type, array $options = [])
    {
        $this->fields[$name] = array_merge($options, ['type' => $type]);
        if (!isset($options['argument']) || $options['argument'] !== false) {
            $this->arguments[$name] = array_merge($options, ['type' => $type]);
        }

        return $this;
    }
332870
public function addColumns(array $columns) {
        foreach ($columns as $column => $options) {
            $this->addColumn($column, $options);
        }

        return $this;
    }
242989
public function addIndex($type, ...$columns) {
        if (empty($columns)) {
            throw new \InvalidArgumentException("An index must contain at least one column.", 500);
        }

        $type = strtolower($type);

        // Look for a current index row.
        $currentIndex = null;
        foreach ($this->indexes as $i => $index) {
            if ($type !== $index['type']) {
                continue;
            }

            if ($type === Db::INDEX_PK || array_diff($index['columns'], $columns) == []) {
                $currentIndex =& $this->indexes[$i];
                break;
            }
        }

        if ($currentIndex) {
            $currentIndex['columns'] = $columns;
        } else {
            $indexDef = [
                'type' => $type,
                'columns' => $columns,
            ];
            $this->indexes[] = $indexDef;
        }

        return $this;
    }
183682
public function add($alert, $type = null)
    {
        $this->_alert = new stdClass;
        $this->_alert->alert = $alert;
        if (!is_null($type)) {
            $this->_alert->type = $type;
        }

        $this->notify();
    }
30007
public function create($name, $type = null, array $options = [])
    {
        return $this->formBuilder->create($name, $type, $options);
    }