event CellStateChanged (Item as HITEM, ColIndex as Long)
Fired after cell's state has been changed.

TypeDescription
Item as HITEM A long expression that determines the item's handle. If the Item parameter is 0, and the ColIndex property is different than zero, the ColIndex indicates the handle of the cell where the state is changed.
ColIndex as Long A long expression that indicates the column's index, if the Item parameter is not zero, a long expression that indicates the handle of the cell if the Item parameter is 0.

A cell that contains a radio button or a check box button fires the CellStateChanged event when its state is changed. Use the CellState property to change the cell's state. Use the CellHasRadioButton or CellHasCheckBox property to enable radio or check box button into a cell. Use the CellImage property to display an icon in the cell. Use the CellImages property to display multiple icons in the same cell.  Use the PartialCheck property to enable partial check feature ( check boxes with three states: partial, checked and unchecked ). Use the CellChecked property to determine the handle of the cell that's checked in a radio group. Use the CellRadioGroup property to radio group cells

Once the user clicks a check-box, radio-button, the control fires the following events:

Syntax for CellStateChanged event, /NET version, on:

private void CellStateChanged(object sender,int Item,int ColIndex)
{
}

Private Sub CellStateChanged(ByVal sender As System.Object,ByVal Item As Integer,ByVal ColIndex As Integer) Handles CellStateChanged
End Sub

Syntax for CellStateChanged event, /COM version, on:

private void CellStateChanged(object sender, AxEXGRIDLib._IGridEvents_CellStateChangedEvent e)
{
}

void OnCellStateChanged(long Item,long ColIndex)
{
}

void __fastcall CellStateChanged(TObject *Sender,Exgridlib_tlb::HITEM Item,long ColIndex)
{
}

procedure CellStateChanged(ASender: TObject; Item : HITEM;ColIndex : Integer);
begin
end;

procedure CellStateChanged(sender: System.Object; e: AxEXGRIDLib._IGridEvents_CellStateChangedEvent);
begin
end;

begin event CellStateChanged(long Item,long ColIndex)
end event CellStateChanged

Private Sub CellStateChanged(ByVal sender As System.Object, ByVal e As AxEXGRIDLib._IGridEvents_CellStateChangedEvent) Handles CellStateChanged
End Sub

Private Sub CellStateChanged(ByVal Item As EXGRIDLibCtl.HITEM,ByVal ColIndex As Long)
End Sub

Private Sub CellStateChanged(ByVal Item As Long,ByVal ColIndex As Long)
End Sub

LPARAMETERS Item,ColIndex

PROCEDURE OnCellStateChanged(oGrid,Item,ColIndex)
RETURN

Syntax for CellStateChanged event, /COM version (others), on:

<SCRIPT EVENT="CellStateChanged(Item,ColIndex)" LANGUAGE="JScript">
</SCRIPT>

<SCRIPT LANGUAGE="VBScript">
Function CellStateChanged(Item,ColIndex)
End Function
</SCRIPT>

Procedure OnComCellStateChanged HITEM llItem Integer llColIndex
	Forward Send OnComCellStateChanged llItem llColIndex
End_Procedure

METHOD OCX_CellStateChanged(Item,ColIndex) CLASS MainDialog
RETURN NIL

void onEvent_CellStateChanged(int _Item,int _ColIndex)
{
}

function CellStateChanged as v (Item as OLE::Exontrol.Grid.1::HITEM,ColIndex as N)
end function

function nativeObject_CellStateChanged(Item,ColIndex)
return

The following VB sample displays a message when the user clicks a check box or a radio button:

Private Sub Grid1_CellStateChanged(ByVal Item As EXGRIDLibCtl.HITEM, ByVal ColIndex As Long)
    With Grid1.Items
        Debug.Print "'" & .CellValue(Item, ColIndex) & "' = " & .CellState(Item, ColIndex)
    End With
End Sub

The following C++ sample displays a message when the user clicks a check box or a radio button:

#include "Items.h"
void OnCellStateChangedGrid1(long Item, long ColIndex) 
{
	CItems items = m_grid.GetItems();
	COleVariant vtItem( Item ), vtColumn( ColIndex );
	CString strFormat;
	strFormat.Format( "'%s' = %i", items.GetCellCaption( vtItem, vtColumn ), items.GetCellState( vtItem, vtColumn ) );
	OutputDebugString( strFormat );
}

The following VB.NET sample displays a message when the user clicks a check box or a radio button:

Private Sub AxGrid1_CellStateChanged(ByVal sender As Object, ByVal e As AxEXGRIDLib._IGridEvents_CellStateChangedEvent) Handles AxGrid1.CellStateChanged
    With AxGrid1.Items
        Debug.Print(.CellCaption(e.item, e.colIndex) & " = " & .CellState(e.item, e.colIndex).ToString())
    End With
End Sub

The following C# sample displays a message when the user clicks a check box or a radio button:

private void axGrid1_CellStateChanged(object sender, AxEXGRIDLib._IGridEvents_CellStateChangedEvent e)
{
	string strOutput = axGrid1.Items.get_CellCaption(e.item, e.colIndex).ToString();
	strOutput += " = " + axGrid1.Items.get_CellState(e.item, e.colIndex).ToString();
	System.Diagnostics.Debug.WriteLine(strOutput);
}

The following VFP sample displays a message when the user clicks a check box or a radio button:

*** ActiveX Control Event ***
LPARAMETERS item, colindex

local sOutput
sOutput = ""
with thisform.Grid1.Items
	.DefaultItem = item
	sOutput = .CellCaption( 0, colindex )
	sOutput = sOutput + ", state = " + str(.CellState( 0, colindex ))
	wait window nowait sOutput
endwith