# Column Info

## Overview

The `ColumnInfo` class holds information about a column in a data source, such as a database table, and extends basic database metadata with Servoy-specific details. It provides methods to manage various aspects of the column, including its ID, persistence, and flags. For columns with auto-enter properties, it supports types like system values, sequences, and custom values, with configurable subtypes for each.

The class allows for the configuration of column properties such as default values, lookup values, titles, descriptions, and formatting. For sequences, it manages sequence names, step sizes, and the next value, while also supporting foreign keys with the `foreignType` property.

Additionally, the class offers tools for managing column types, including `getConfiguredColumnType()` for retrieving the developer-configured column type, and `getCompatibleColumnTypes()` for checking column type compatibility. Flags can be set and checked to track column attributes, and detailed property information can be retrieved or converted to HTML format.

## Properties Summarized

| Type                                                     | Name                                          | Summary                                                                                                                      |
| -------------------------------------------------------- | --------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| [Number](/reference/servoycore/dev-api/js-lib/number.md) | [autoEnterSubType](#autoentersubtype)         | The subtype of autoenter configured for the column.                                                                          |
| [Number](/reference/servoycore/dev-api/js-lib/number.md) | [autoEnterType](#autoentertype)               | The type of autoenter configured for the column.                                                                             |
| [String](/reference/servoycore/dev-api/js-lib/string.md) | [converterName](#convertername)               | The name of the converter used for this column.                                                                              |
| [String](/reference/servoycore/dev-api/js-lib/string.md) | [converterProperties](#converterproperties)   | The properties of the converter used for this column.                                                                        |
| [String](/reference/servoycore/dev-api/js-lib/string.md) | [databaseDefaultValue](#databasedefaultvalue) | The database default value that is used when autoenter is set to database default.                                           |
| [String](/reference/servoycore/dev-api/js-lib/string.md) | [databaseSequenceName](#databasesequencename) | The database sequence name that is used when autoenter is set to sequence and autoenter subtype is set to database sequence. |
| [String](/reference/servoycore/dev-api/js-lib/string.md) | [defaultFormat](#defaultformat)               | The default format of the column.                                                                                            |
| [String](/reference/servoycore/dev-api/js-lib/string.md) | [defaultValue](#defaultvalue)                 | The value that is used when autoenter is set to custom value.                                                                |
| [String](/reference/servoycore/dev-api/js-lib/string.md) | [description](#description)                   | The description of the column.                                                                                               |
| [String](/reference/servoycore/dev-api/js-lib/string.md) | [foreignType](#foreigntype)                   | The foreign type of the column.                                                                                              |
| [String](/reference/servoycore/dev-api/js-lib/string.md) | [lookupValue](#lookupvalue)                   | The lookup value that is used when autotype is set to lookup.                                                                |
| [String](/reference/servoycore/dev-api/js-lib/string.md) | [titleText](#titletext)                       | The title of the column.                                                                                                     |
| [String](/reference/servoycore/dev-api/js-lib/string.md) | [validatorName](#validatorname)               | The name of the validator used for the column.                                                                               |
| [String](/reference/servoycore/dev-api/js-lib/string.md) | [validatorProperties](#validatorproperties)   | The properties of the validator used for the column.                                                                         |

## Properties Detailed

### autoEnterSubType

The subtype of autoenter configured for the column. The available options depend\
on the type of autoenter.

If autoenter is set to system value, then the subtype can be one of: none, creation datetime,\
creation username, modification datetime, modification username, database managed,\
creation user uid, modification user uid, creation server datetime or modification server datetime.

If autoenter is set to sequence, then the subtype can be one of: none, Servoy sequence,\
database sequence, database identity or universally unique identifier.

**Type**\
[Number](/reference/servoycore/dev-api/js-lib/number.md)

### autoEnterType

The type of autoenter configured for the column. Can be one of: none, system value, sequence, custom value or lookup value.

**Type**\
[Number](/reference/servoycore/dev-api/js-lib/number.md)

### converterName

The name of the converter used for this column.

**Type**\
[String](/reference/servoycore/dev-api/js-lib/string.md)

### converterProperties

The properties of the converter used for this column.

**Type**\
[String](/reference/servoycore/dev-api/js-lib/string.md)

### databaseDefaultValue

The database default value that is used when autoenter is set to database default.

**Type**\
[String](/reference/servoycore/dev-api/js-lib/string.md)

### databaseSequenceName

The database sequence name that is used when autoenter is set to sequence and autoenter subtype is set to database sequence.

**Type**\
[String](/reference/servoycore/dev-api/js-lib/string.md)

### defaultFormat

The default format of the column.\
Currently only strings or numbers are supported.

**Type**\
[String](/reference/servoycore/dev-api/js-lib/string.md)

### defaultValue

The value that is used when autoenter is set to custom value.

**Type**\
[String](/reference/servoycore/dev-api/js-lib/string.md)

### description

The description of the column.

**Type**\
[String](/reference/servoycore/dev-api/js-lib/string.md)

### foreignType

The foreign type of the column. It is used for foreign key columns, to hold the foreign table they point to.

**Type**\
[String](/reference/servoycore/dev-api/js-lib/string.md)

### lookupValue

The lookup value that is used when autotype is set to lookup.

**Type**\
[String](/reference/servoycore/dev-api/js-lib/string.md)

### titleText

The title of the column.

**Type**\
[String](/reference/servoycore/dev-api/js-lib/string.md)

### validatorName

The name of the validator used for the column.

**Type**\
[String](/reference/servoycore/dev-api/js-lib/string.md)

### validatorProperties

The properties of the validator used for the column.

**Type**\
[String](/reference/servoycore/dev-api/js-lib/string.md)

***


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.servoy.com/reference/servoycore/object-model/solution/columninfo.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
