property Items.CellHasRadioButton([Item as Variant], [ColIndex as Variant]) as Boolean

Retrieves or sets a value indicating whether the cell has an associated radio button.

 TypeDescription 
   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 contains a radio button.  

Use the CellState property to change the state of the cell of the radio type. The cell cannot display in the same time a radio and a check button. The control fires CellStateChanged event when the cell's state has been changed. Call the CellHasCheckBox  property to add a check box to the cell. Use the CellRadioGroup property To group or ungroup cells of radio type. Use the Def property to assign radio buttons to all cells in the column. Use the CellImage property to add a single icon to a cell. Use the CellImages property to assign multiple icons to a cell. Use the CellPicture property to load a custom size picture to a cell. Use the RadioImage property to change the radio button appearance. Use the Def( exCellDrawPartsOrder) property to specify the order of the drawing parts inside the cell.

The following VB sample assigns a radio button to all cells in the first column:

With Grid1.Columns(0)
    .Def(exCellHasRadioButton) = True
End With

The following VB sample assigns a radio button to all cells in the first column, and groups all of them in the same radio group ( 1234 ):

Dim h As Variant
Grid1.BeginUpdate
With Grid1.Items
For Each h In Grid1.Items
    .CellHasRadioButton(h, 0) = True
    .CellRadioGroup(h, 0) = 1234
Next
End With
Grid1.EndUpdate

The following VB sample assigns a radio button to all cells in the first column, when adding a new item:

Private Sub Grid1_AddItem(ByVal Item As EXGRIDLibCtl.HITEM)
    Grid1.Items.CellHasRadioButton(Item, 0) = True
    Grid1.Items.CellRadioGroup(Item, 0) = 1234
End Sub

Call the Grid1.Items.CellValue(, Grid1.Items.CellChecked(1234))  to get the cell's value that's checked in the group 1234.  

The following VB sample assigns a radio button to the focused cell:

With Grid1.Items
    .CellHasRadioButton(.FocusItem, Grid1.FocusColumnIndex) = True
    .CellRadioGroup(.FocusItem, Grid1.FocusColumnIndex) = 1234
End With

The following C++ sample assigns a radio button to the focused cell:

#include "Items.h"
CItems items = m_grid.GetItems();
COleVariant vtItem(items.GetFocusItem()), vtColumn(m_grid.GetFocusColumnIndex());
items.SetCellHasRadioButton( vtItem, vtColumn, TRUE );
items.SetCellRadioGroup( vtItem, vtColumn, 1234 );

The following VB.NET sample assigns a radio button to the focused cell:

With AxGrid1.Items
    .CellHasRadioButton(.FocusItem, AxGrid1.FocusColumnIndex) = True
    .CellRadioGroup(.FocusItem, AxGrid1.FocusColumnIndex) = 1234
End With

The following C# sample assigns a radio button to the focused cell:

axGrid1.Items.set_CellHasRadioButton(axGrid1.Items.FocusItem, axGrid1.FocusColumnIndex, true);
axGrid1.Items.set_CellRadioGroup(axGrid1.Items.FocusItem, axGrid1.FocusColumnIndex, 1234);

The following VFP sample assigns a radio button to the focused cell:

with thisform.Grid1.Items
	.DefaultItem = .FocusItem
	.CellHasRadioButton(0,thisform.Grid1.FocusColumnIndex) = .t.
	.CellRadioGroup(0,thisform.Grid1.FocusColumnIndex) = 1234
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

Send comments on this topic.
1999-2017 Exontrol.COM, Software. All rights reserved.