{/* Do not edit this file. It is automatically generated by API Documenter. */}


## CellLayoutColumnItem

Column Layout Information Model

**Signature:**

```typescript
export interface CellLayoutColumnItem extends CellLayoutItem
```
**Extends:** [CellLayoutItem](/refs/Interface/CellLayoutItem)

## Remarks

The model can be returned from [GridBase.getLayoutByColumn()](/refs/Class/GridBase#getlayoutbycolumn).

When set to [GridBase.setColumnLayout()](/refs/Class/GridBase#setcolumnlayout), only specific properties can be used.

It can be set as a property of [GridColumn.layout](/refs/Interface/GridColumn#layout).

Inherits [CellLayoutItem](/refs/Interface/CellLayoutItem).

\[Superclass\]

[CellLayoutItem](/refs/Interface/CellLayoutItem)

## Example


```js
// If it is a return value
{
      mergeRule: undefined,
      breakMergeOnEmpty: false;
      equalBlank: undefined,
      equalBlankExpression: undefined,
      cellSpan: 1;
      headerSpan: undefined,
      summarySpan: undefined,
      footerSpan: undefined,
      dataSpan: undefined,
      spanCallback: undefined,
      visible: true;
      vindex: 1;
      width: 100,
      fillWidth: NaN;
      cellWidth: 250
}

// When set to method
{
      column: 'Country'
      cellSpan: 3;
      width: 100,
}

{
      column: 'Country'
      headerSpan: 2;
      summarySpan: 2;
      footerSpan: 2;
      dataSpan: 4;
}

// When set to a column
column.layout.spanCallback = function (grid, layout, itemIndex) {
     var value = grid.getValue(itemIndex, layout.column.name);
     if (value) {
         return value[0] === "B" ? 2: value[0] === "F" ? 3:1;
     }
```

## Events

| Property | Type | Description |
| --- | --- | --- |
| [footerSpanCallback](/refs/Interface/CellLayoutColumnItem#footerspancallback) | [SummaryCellSpanCallback](/refs/realgrid#summarycellspancallback) | Callback for custom footer span |
| [groupFooterSpanCallback](/refs/Interface/CellLayoutColumnItem#groupfooterspancallback) | [GroupFooterCellSpanCallback](/refs/realgrid#groupfootercellspancallback) | Callback for custom groupFooter span |
| [groupFooterUserSpanCallback](/refs/Interface/CellLayoutColumnItem#groupfooteruserspancallback) | [GroupFooterUserSpanCallback](/refs/realgrid#groupfooteruserspancallback) | Callback for custom groupFooter UserSpan Unlike groupFooterSpanCallback, it can span in block units. |
| [spanCallback](/refs/Interface/CellLayoutColumnItem#spancallback) | [CellSpanCallback](/refs/realgrid#cellspancallback) | Callbacks for custom spans |
| [summarySpanCallback](/refs/Interface/CellLayoutColumnItem#summaryspancallback) | [SummaryCellSpanCallback](/refs/realgrid#summarycellspancallback) | Callback for custom headerSummary span |

## Properties

| Property | Type | Description |
| --- | --- | --- |
| [breakMergeOnEmpty](/refs/Interface/CellLayoutColumnItem#breakmergeonempty) | boolean | Whether to stop merging when there is an empty cell |
| [cellSpan](/refs/Interface/CellLayoutColumnItem#cellspan) | number | Default cell span count |
| [column](/refs/Interface/CellLayoutColumnItem#column) | string \| [ValueColumn](/refs/Interface/ValueColumn) | Column name |
| [dataSpan](/refs/Interface/CellLayoutColumnItem#dataspan) | number | Cell span count |
| [equalBlank](/refs/Interface/CellLayoutColumnItem#equalblank) | boolean | Whether to bundle cells when the value is the same as the cell in the previous row of the same column |
| [equalBlankExpression](/refs/Interface/CellLayoutColumnItem#equalblankexpression) | string | Formula to be treated as the same value if [equalBlank](/refs/Interface/CellLayoutColumnItem#equalblank) is `true`{/* */} |
| [footerSpan](/refs/Interface/CellLayoutColumnItem#footerspan) | number | When there is only one footer, specify the span of the footer for each column layout. |
| [footerSpans](/refs/Interface/CellLayoutColumnItem#footerspans) | number\[\] | Number of footer spans |
| [footerUserSpans](/refs/Interface/CellLayoutColumnItem#footeruserspans) | UserSpan\[\] | custom footer span |
| [groupFooterSpans](/refs/Interface/CellLayoutColumnItem#groupfooterspans) | number\[\] | Group Footer Span Count |
| [groupFooterUserSpans](/refs/Interface/CellLayoutColumnItem#groupfooteruserspans) | UserSpan\[\] | custom groupFooter span |
| [headerSpan](/refs/Interface/CellLayoutColumnItem#headerspan) | number | Header span count |
| [mergeRule](/refs/Interface/CellLayoutColumnItem#mergerule) | string \| \{ criteria: string; \} | Rules for merging columns |
| [summarySpan](/refs/Interface/CellLayoutColumnItem#summaryspan) | number | When there is only one headerSummary, specify the span of headerSummary for each column layout. |
| [summarySpans](/refs/Interface/CellLayoutColumnItem#summaryspans) | number\[\] | summary Number of spans |
| [summaryUserSpans](/refs/Interface/CellLayoutColumnItem#summaryuserspans) | UserSpan\[\] | custom headerSummary span |

## Events Desc

### footerSpanCallback

Callbacks for custom footer spans

`Type` - [SummaryCellSpanCallback](/refs/realgrid#summarycellspancallback)

<hr/>

### groupFooterSpanCallback

Callback for custom groupFooter span

`Type` - [GroupFooterCellSpanCallback](/refs/realgrid#groupfootercellspancallback)

<hr/>

### groupFooterUserSpanCallback

Callback for custom groupFooter UserSpan Unlike groupFooterSpanCallback, it can span in block units.

`Type` - [GroupFooterUserSpanCallback](/refs/realgrid#groupfooteruserspancallback)

<hr/>

### spanCallback

Callbacks for custom spans

`Type` - [CellSpanCallback](/refs/realgrid#cellspancallback)

**Example:**


```js
let layout = column.layout
layout.spanCallback = function (grid, layout, itemIndex) {
 var value = grid.getValue(itemIndex, layout.column.dataIndex);
 if (value) {
 return value[0] === "B" ? 3: value[0] === "F" ? 2:1;
 }
 return 1;
};
```

<hr/>

### summarySpanCallback

Callback for custom headerSummary span

`Type` - [SummaryCellSpanCallback](/refs/realgrid#summarycellspancallback)

<hr/>

## Properties Desc

### breakMergeOnEmpty

Whether to stop merging when there is an empty cell

`Type` - boolean

<hr/>

### cellSpan

Default cell span count

`Type` - number

**Remarks:**

When no other span is specified, the corresponding value is followed.

Can be used when set to [GridBase.setColumnLayout()](/refs/Class/GridBase#setcolumnlayout).

<hr/>

### column

Column name

`Type` - string \| [ValueColumn](/refs/Interface/ValueColumn)

<hr/>

### dataSpan

Cell span count

`Type` - number

**Remarks:**

If the direction of the parent group is vertical, it is rowSpan, and if it is horizontal, it is colSpan. Can be used when set to [GridBase.setColumnLayout()](/refs/Class/GridBase#setcolumnlayout).

<hr/>

### equalBlank

Whether to bundle cells when the value is the same as the cell in the previous row of the same column

`Type` - boolean

<hr/>

### equalBlankExpression

Formula to be treated as the same value if [equalBlank](/refs/Interface/CellLayoutColumnItem#equalblank) is `true`{/* */}

`Type` - string

<hr/>

### footerSpan

When there is only one footer, specify the span of the footer for each column layout.

`Type` - number

<hr/>

### footerSpans

Number of footer spans

`Type` - number\[\]

**Remarks:**

If there is only one footer, it is designated as footerSpan. Can be used when set to [GridBase.setColumnLayout()](/refs/Class/GridBase#setcolumnlayout).

<hr/>

### footerUserSpans

custom footer span

`Type` - UserSpan\[\]

<hr/>

### groupFooterSpans

Number of group footer spans

`Type` - number\[\]

**Remarks:**

If there is only one groupFooter, specify it as groupFooterSpan. Can be used when set to [GridBase.setColumnLayout()](/refs/Class/GridBase#setcolumnlayout).

<hr/>

### groupFooterUserSpans

Custom groupFooter span

`Type` - UserSpan\[\]

<hr/>

### headerSpan

Header span count

`Type` - number

**Remarks:**

Can be used when set to [GridBase.setColumnLayout()](/refs/Class/GridBase#setcolumnlayout).

<hr/>

### mergeRule

Rules for merging columns

`Type` - string \| \{ criteria: string; \}

**Remarks:**

If `undefined` (default), merge using the mergeRule of the column. If `null`, the mergeRule of the column is ignored. `{criteria: string}`{/* */} is used for compatibility with previous versions.

<hr/>

### summarySpan

When there is only one headerSummary, specify the span of headerSummary for each column layout.

`Type` - number

<hr/>

### summarySpans

summary Number of spans

`Type` - number\[\]

**Remarks:**

If there is only one summary, specify it as summarySpan. Can be used when set to [GridBase.setColumnLayout()](/refs/Class/GridBase#setcolumnlayout).

<hr/>

### summaryUserSpans

Custom headerSummary span

`Type` - UserSpan\[\]

<hr/>