Retrieves or sets a value indicating whether the cell is painted using one
line, or more than one line.
![]() | Type | Description | ||
| Item as Variant | A long expression that indicates the item's handle. | |||
| ColIndex as Variant | A long expression that indicates the cell's handle or the column's index, a string expression that indicates the column's caption or the column's key | |||
| Boolean | A boolean expression that indicates whether the cell displays its caption using one or more lines. |
The control is able to display a cell using more lines, if the CellSingleLine property is False. The CellSingleLine property wraps the cell's caption so it fits in the cell's client area. If the text doesn't fit the cell's client area, the height of the item is increased or decreased. By default the cell uses only one line to display its caption. When the CellSingleLine is False, the height of the item is computed based on each cell caption. If the CellSingleLine property is False, changing the ItemHeight property has no effect. Use the ItemMaxHeight property to specify the maximum height of the item when its height is variable. Use the Def property to specify that all cells in the column display their content using multiple lines. Use the CellVAlignment property to align vertically a cell. your control displays items with different heights the ScrollBySingleLine property should be True. Use the Refresh method to refresh the control.

Generally, there are the following options to specify a cell using multiple lines:
Use the CellSingleLine property on False, that wraps the cell's value ( CellValue property ).
Use the <br> built-in HTML tag or \r\n sequence to break a line when CellValueFormat property is exHTML. You need to use the ItemHeight property to specify the height of the item so all lines are visible.
If the control displays cells using multiple lines, you need to set the ScrollBySingleLine property on True, to let all items being scrolled.
The following VB sample displays the caption of the focused cell using multiple lines:
With Grid1.Items
.CellSingleLine(.FocusItem, Grid1.FocusColumnIndex) = True
End With
The following C++ sample displays the caption of the focused cell using multiple lines:
#include "Items.h" CItems items = m_grid.GetItems(); items.SetCellSingleLine( COleVariant( items.GetFocusItem() ), COleVariant( long(m_grid.GetFocusColumnIndex()) ), FALSE );
The following VB.NET sample displays the caption of the focused cell using multiple lines:
With AxGrid1.Items
.CellSingleLine(.FocusItem, AxGrid1.FocusColumnIndex) = False
End With
The following C# sample displays the caption of the focused cell using multiple lines:
axGrid1.Items.set_CellSingleLine(axGrid1.Items.FocusItem, axGrid1.FocusColumnIndex, false);
The following VFP sample displays the caption of the focused cell using multiple lines:
with thisform.Grid1.Items .DefaultItem = .FocusItem .CellSingleLine( 0, thisform.Grid1.FocusColumnIndex ) = .f. endwith
Note: The intersection of an item with a column defines a cell. Each cell is uniquely represented by its handle. The cell's handle is of HCELL type, that's equivalent with a long type. All properties of Items object that have two parameters Item and ColIndex, refer a cell.
The following lines are equivalents and each of them changes the bold font attribute of the first cell on the first item.
With Grid1 .Items.CellBold(, .Items.ItemCell(.Items(0), 0)) = True .Items.CellBold(.Items(0), 0) = True .Items.CellBold(.Items(0)) = True .Items.CellBold(.Items.ItemByIndex(0)) = True .Items.CellBold(.Items.ItemByIndex(0), 0) = True .Items.CellBold(.Items(0), Grid1.Columns(0).Caption) = True End With