### Hierarchy

- RowColumnDefinition

The RowColumnDefinition class describes constraints on a row or a column in a Panel of type Panel.Table. It also provides information about the actual layout after the Table Panel has been arranged.

## Index

### Constructors

- constructor

### Properties

- actual
- alignment
- background
- coversSeparators
- height
- index
- isRow
- maximum
- minimum
- panel
- position
- separatorDashArray
- separatorPadding
- separatorStroke
- separatorStrokeWidth
- sizing
- stretch
- total
- width

### Methods

- bind

### Constants

- Default
- None
- ProportionalExtra

## Constructors

### constructor

- new RowColumnDefinition(): RowColumnDefinition

- You should not use this constructor, because calls to Panel.getRowDefinition or Panel.getColumnDefinition will automatically create and remember a RowColumnDefinition for you.

  #### Returns RowColumnDefinition

## Properties

### actual : number

- This read-only property returns the usable row height or column width, after arrangement, in local coordinates, that objects in this row or column can be arranged within. This does not include separatorPadding or separatorStrokeWidth, as total does.

  This value gives the row height if isRow is true; otherwise this gives the column width. The value is meaningless until after the Table Panel using this RowColumnDefinition has been arranged.

  see

    total, height, width, sizing

### alignment : Spot

- Gets or sets a default alignment for elements that are in this row or column. The value must be a Spot. The default value is Spot.Default, so that this RowColumnDefinition does not supply any alignment information for the row or column.

  When an element's GraphObject.alignment property is Spot.Default, it gets the horizontal alignment from the element's column's RowColumnDefinition and the vertical alignment from the element's row's RowColumnDefinition. When that RowColumnDefinition.alignment property is also Default, it takes the value from the table panel's Panel.defaultAlignment property.

  see

    GraphObject.alignment, Panel.defaultAlignment

### background : BrushLike

- Gets or sets the background color for a particular row or column, which fills the entire span of the row or column, including any separatorPadding.

  The default value is null, which means nothing is drawn in the background of the row or column.

  see

    GraphObject.background

  since

    1.2

### coversSeparators : boolean

- Determines whether or not the background, if there is one, is in front of or behind the separators.

  The default value is false -- any background is drawn behind any separator lines.

  since

    1.2

### height : number

- Gets or sets the row height, in local coordinates. This describes the row height if isRow is true; otherwise this property is meaningless. The value must be non-negative and finite.

  The default value is NaN, which means this row will get a height that is just big enough to hold all of the objects in the row.

  Setting this value to a number will mean that all of the objects of this Panel in this row will be allocated that amount of row height. Whether an object in the row is actually arranged to have that height depends on whether the GraphObject.stretch stretches vertically.

  see

    width, minimum, maximum, sizing

### index : number

- This read-only property returns which row or column this RowColumnDefinition describes in the panel. The value is a zero-based integer.

  see

    Panel.findColumnForLocalX, Panel.findRowForLocalY, Panel.leftIndex, Panel.topIndex, position

### isRow : boolean

- This read-only property is true when this describes a row instead of a column in the panel. When this is true, the height, minimum, and maximum all describe the row height. Otherwise width and the other two properties describe the column width.

### maximum : number

- Gets or sets the maximum row height or column width, in local coordinates. The maximum describes the row height if isRow is true; otherwise this describes the column width.

  The value must be non-negative. The default value is Infinity. The arranged height of all objects in this row, or the arranged width of all objects in this column, will be no greater than this value.

  see

    width, height, minimum, sizing

### minimum : number

- Gets or sets the minimum row height or column width, in local coordinates. The minimum describes the row height if isRow is true; otherwise this describes the column width.

  The value must be non-negative and finite. The default value is zero. The arranged height of all objects in this row, or the arranged width of all objects in this column, will be no less than this value.

  see

    width, height, maximum, sizing

### Read-only panel : Panel | null

- This read-only property returns the Panel that this row or column definition is in.

### position : number

- This read-only property returns the actual arranged row or column starting position, after arrangement, in local coordinates. This value gives the Y position if isRow is true; otherwise this gives the X position. The value is meaningless until after the Table Panel using this RowColumnDefinition has been arranged.

  see

    Panel.findColumnForLocalX, Panel.findRowForLocalY, Panel.leftIndex, Panel.topIndex, index

### separatorDashArray : Array<number>

- Gets or sets the dash array for dashing the separator line, provided this row or column has a nonzero RowColumnDefinition.separatorStrokeWidth and non-null RowColumnDefinition.separatorStroke.

  Must be an array of positive numbers and zeroes, or else null to indicate a solid line.

  For example, the array [5, 10] would create dashes of 5 pixels and spaces of 10 pixels.

  Setting an array with all zeroes will set the value to null.

  Default is null, so that this RowColumnDefinition does not supply any stroke dash array information for what is drawn before the row or column. The separator line may still be drawn using dashes if Panel.defaultRowSeparatorDashArray or Panel.defaultColumnSeparatorDashArray is non-null.

  see

    Panel.defaultColumnSeparatorDashArray, Panel.defaultRowSeparatorDashArray, separatorPadding, separatorStroke, separatorStrokeWidth, background

  since

    1.2

### separatorPadding : MarginLike

- Gets or sets the additional padding for a particular row or column, in local coordinates. Padding is applied on two sides - before and after a row or column's contents. The separatorStrokeWidth comes before any padding Margin.top or Margin.left.

  The default value is null, so that this RowColumnDefinition does not supply any padding information for the row or column. There may still be some padding between rows and/or columns if Panel.defaultSeparatorPadding is non-zero.

  see

    Panel.defaultSeparatorPadding, separatorStroke, separatorStrokeWidth, separatorDashArray, background

  since

    1.2

### separatorStroke : BrushLike

- Gets or sets the stroke (color) for the separator line that is drawn before a particular row or column, provided that row or column has a nonzero separatorStrokeWidth.

  The default value is null, so that this RowColumnDefinition does not specify any brush for the separator line to draw before the row or column. The line may still be drawn if the value of Panel.defaultRowSeparatorStroke or Panel.defaultColumnSeparatorStroke is non-null.

  However, if no stroke color is specified, then no stroke width will be drawn, even if the separatorStrokeWidth value is non-zero.

  see

    Panel.defaultColumnSeparatorStroke, Panel.defaultRowSeparatorStroke, separatorPadding, separatorStrokeWidth, separatorDashArray, background

  since

    1.2

### separatorStrokeWidth : number

- Gets or sets the stroke width for a particular row or column's separator line, in local coordinates.

  The default value is NaN, so that this RowColumnDefinition does not supply any stroke width information for what is drawn before the row or column. The separator line may still be drawn if Panel.defaultRowSeparatorStroke or Panel.defaultColumnSeparatorStroke is a real number (they default to 1).

  see

    Panel.defaultColumnSeparatorStrokeWidth, Panel.defaultRowSeparatorStrokeWidth, separatorPadding, separatorStroke, separatorDashArray, background

  since

    1.2

### sizing : EnumValue

- Gets or sets how this row or column deals with a Table Panel's extra space. The value must be one of: RowColumnDefinition.None, RowColumnDefinition.ProportionalExtra, or RowColumnDefinition.Default. The default value is RowColumnDefinition.Default.

  see

    Panel.columnSizing, Panel.rowSizing, actual, total, height, width

### stretch : EnumValue

- Gets or sets the default stretch for elements that are in this row or column. The only accepted values are listed as constant properties of GraphObject: GraphObject.None, GraphObject.Fill, GraphObject.Horizontal, GraphObject.Vertical, or GraphObject.Default. The default value is GraphObject.Default, so that this RowColumnDefinition does not supply any stretch information for the row or column.

  When an element's GraphObject.stretch property is GraphObject.Default, it gets the horizontal stretch from the element's column's RowColumnDefinition and the vertical stretch from the element's row's RowColumnDefinition. When that RowColumnDefinition.stretch property is also Default, it takes the value from the table panel's Panel.defaultStretch property.

  see

    GraphObject.stretch, Panel.defaultStretch, sizing, width, height

### total : number

- This read-only property returns the total arranged row height or column width, after arrangement, in local coordinates. This value gives the actual size plus the separatorPadding and separatorStrokeWidth.

  This value gives the vertical space occupied by the row if isRow is true; otherwise this gives the horizontal space occupied by the column. The value is meaningless until after the Table Panel using this RowColumnDefinition has been arranged.

  see

    actual, height, width, sizing

  since

    1.2

### width : number

- Gets or sets the column width, in local coordinates. The size describes the column width if isRow is false; otherwise this property is meaningless. The value must be non-negative and finite.

  The default value is NaN, which means this column will get a width that is just big enough to hold all of the objects in the column.

  Setting this value to a number will mean that all of the objects of this Panel in this column will be allocated that amount of column width. Whether an object in the column is actually arranged to have that width depends on whether the GraphObject.stretch stretches horizontally.

  see

    height, minimum, maximum, sizing

## Methods

### bind

- bind(binding: Binding): void

- Add a data-binding of a property on this object to a property on a data object.

  #### Parameters

  - ##### binding: Binding

  #### Returns void

## Constants

### Static Default : EnumValue

The default sizing, which resolves to RowColumnDefinition.None or else the Table Panel's rowSizing and columnSizing if present.

### Static None : EnumValue

The default sizing if none is specified on the Table Panel's rowSizing and columnSizing.

### Static ProportionalExtra : EnumValue

If a Table Panel is larger than all the rows then this sizing grants this row and any others with the same value the extra space, apportioned proportionally between them

Copyright © 1998-2021 by Northwoods Software Corporation.