Retrieves the handle of the cell that is checked, given the radio group
identifier.


| Type | Description | |||
| RadioGroup as Long | A long expression that indicates the radio group identifier. | |||
| HCELL | A long expression that indicates the cell's handle. Use the CellItem property to retrieve the handle of the owner item. |
The following VB sample groups all cells on the first column into a radio group, and display the cell's checked on the radio group when the state of a radio group is changed:
Private Sub Grid1_AddItem(ByVal Item As EXGRIDLibCtl.HITEM)
Grid1.Items.CellHasRadioButton(Item, 0) = True
Grid1.Items.CellRadioGroup(Item, 0) = 1234 ' The 1234 is arbirary and it represents the identifier for the radio group
End Sub
Private Sub Grid1_CellStateChanged(ByVal Item As EXGRIDLibCtl.HITEM, ByVal ColIndex As Long)
Debug.Print "In the 1234 radio group the """ & Grid1.Items.CellValue(, Grid1.Items.CellChecked(1234)) & """ is checked."
End Sub
The following C++ sample groups the radio cells on the first column, and displays the caption of the checked radio cell:
#include "Items.h"
COleVariant vtColumn( long(0) );
CItems items = m_grid.GetItems();
m_grid.BeginUpdate();
for ( long i = 0; i < items.GetItemCount(); i++ )
{
COleVariant vtItem( items.GetItemByIndex( i ) );
items.SetCellHasRadioButton( vtItem, vtColumn, TRUE );
items.SetCellRadioGroup( vtItem, vtColumn, 1234 );
}
m_grid.EndUpdate();
static CString V2S( VARIANT* pv, LPCTSTR szDefault = _T("") )
{
if ( pv )
{
if ( pv->vt == VT_ERROR )
return szDefault;
COleVariant vt;
vt.ChangeType( VT_BSTR, pv );
return V_BSTR( &vt );
}
return szDefault;
}
void OnCellStateChangedGrid1(long Item, long ColIndex)
{
CItems items = m_grid.GetItems();
long hCell = items.GetCellChecked( 1234 );
COleVariant vtMissing; V_VT( &vtMissing ) = VT_ERROR;
OutputDebugString( V2S( &items.GetCellValue( vtMissing, COleVariant( hCell ) ) ) );
}
The following VB.NET sample groups the radio cells on the first column, and displays the caption of the checked radio cell:
With AxGrid1
.BeginUpdate()
With .Items
Dim k As Integer
For k = 0 To .ItemCount - 1
.CellHasRadioButton(.ItemByIndex(k), 0) = True
.CellRadioGroup(.ItemByIndex(k), 0) = 1234
Next
End With
.EndUpdate()
End With
Private Sub AxGrid1_CellStateChanged(ByVal sender As Object, ByVal e As AxEXGRIDLib._IGridEvents_CellStateChangedEvent) Handles AxGrid1.CellStateChanged
With AxGrid1.Items
Debug.WriteLine(.CellCaption(, .CellChecked(1234)))
End With
End Sub
The following C# sample groups the radio cells on the first column, and displays the caption of the checked radio cell:
axGrid1.BeginUpdate();
EXGRIDLib.Items items = axGrid1.Items;
for (int i = 0; i < items.ItemCount; i++)
{
items.set_CellHasRadioButton(items[i], 0, true);
items.set_CellRadioGroup(items[i], 0, 1234);
}
axGrid1.EndUpdate();
private void axGrid1_CellStateChanged(object sender, AxEXGRIDLib._IGridEvents_CellStateChangedEvent e)
{
string strOutput = axGrid1.Items.get_CellCaption( 0, axGrid1.Items.get_CellChecked(1234) ).ToString();
strOutput += " state = " + axGrid1.Items.get_CellState(e.item, e.colIndex).ToString() ;
System.Diagnostics.Debug.WriteLine( strOutput );
}
The following VFP sample groups the radio cells on the first column, and displays the caption of the checked radio cell:
thisform.Grid1.BeginUpdate() with thisform.Grid1.Items local i for i = 0 to .ItemCount - 1 .DefaultItem = .ItemByIndex(i) .CellHasRadioButton( 0,0 ) = .t. .CellRadioGroup(0,0) = 1234 next endwith thisform.Grid1.EndUpdate()
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. 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