event SelectionChanged ()
Fired after a new item has been selected.

 TypeDescription 
Use the SelectionChanged event to notify your application that the user selects an item (that's selectable). The control supports single or multiple selection as well. When an item is selected or unselected the control fires the SelectionChanged event. Use the SingleSel property to specify if your control supports single or multiple selection. Use the SelectCount property to get the number of selected items. Use the SelectedItem property to get the selected item. Use the SelectItem to select or unselect a specified item. Use the FocusItem property to get the focused item. If the control supports only single selection, you can use the FocusItem property to get the selected/focused item because they are always the same. Use the SelForeColor and SelBackColor properties to specify colors for selected items. Use the CellValue property to retrieve the cell's value. Use the Selected property to specify whether a column is selected when the FullRowSelect property is exRectSel. The SelectPos property selects/unselects items by position. The Selection property selects/unselects items by index.

Syntax for SelectionChanged event, /NET version, on:

private void SelectionChanged(object sender)
{
}

Private Sub SelectionChanged(ByVal sender As System.Object) Handles SelectionChanged
End Sub

Syntax for SelectionChanged event, /COM version, on:

private void SelectionChanged(object sender, EventArgs e)
{
}

void OnSelectionChanged()
{
}

void __fastcall SelectionChanged(TObject *Sender)
{
}

procedure SelectionChanged(ASender: TObject; );
begin
end;

procedure SelectionChanged(sender: System.Object; e: System.EventArgs);
begin
end;

begin event SelectionChanged()
end event SelectionChanged

Private Sub SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SelectionChanged
End Sub

Private Sub SelectionChanged()
End Sub

Private Sub SelectionChanged()
End Sub

LPARAMETERS nop

PROCEDURE OnSelectionChanged(oGrid)
RETURN

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

<SCRIPT EVENT="SelectionChanged()" LANGUAGE="JScript">
</SCRIPT>

<SCRIPT LANGUAGE="VBScript">
Function SelectionChanged()
End Function
</SCRIPT>

Procedure OnComSelectionChanged 
	Forward Send OnComSelectionChanged 
End_Procedure

METHOD OCX_SelectionChanged() CLASS MainDialog
RETURN NIL

void onEvent_SelectionChanged()
{
}

function SelectionChanged as v ()
end function

function nativeObject_SelectionChanged()
return

The following VB sample displays the selected items:

Private Sub Grid1_SelectionChanged()
    On Error Resume Next
    Dim h As HITEM
    Dim i As Long, j As Long, nCols As Long, nSels As Long
    nCols = Grid1.Columns.Count
    With Grid1.Items
    nSels = .SelectCount
    For i = 0 To nSels - 1
        Dim s As String
        For j = 0 To nCols - 1
            s = s + .CellValue(.SelectedItem(i), j) + Chr(9)
        Next
    Debug.Print s
    Next
    End With
End Sub

The following VB sample expands programmatically items when the selection is changed:

Private Sub Grid1_SelectionChanged()
    Grid1.Items.ExpandItem(Grid1.Items.SelectedItem()) = True
End Sub

The following VB sample displays the selected items:

Private Sub Grid1_SelectionChanged()
    Dim i As Long
    With Grid1.Items
        For i = 0 To .SelectCount - 1
            Debug.Print .CellValue(.SelectedItem(i), 0)
        Next
    End With
End Sub

The following VC sample displays the selected items:

#include "Items.h"

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 OnSelectionChangedGrid1() 
{
	CItems items = m_grid.GetItems();
	for ( long i = 0; i < items.GetSelectCount(); i++ )
	{
		COleVariant vtItem( items.GetSelectedItem( i ) );
		CString strOutput;
		strOutput.Format( "%s\n", V2S( &items.GetCellValue( vtItem, COleVariant( (long)0 ) ) ) );
		OutputDebugString( strOutput );
	}
}

The following VB.NET sample displays the selected items:

Private Sub AxGrid1_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles AxGrid1.SelectionChanged
    With AxGrid1.Items
        Dim i As Integer
        For i = 0 To .SelectCount - 1
            Debug.WriteLine(.CellValue(.SelectedItem(i), 0))
        Next
    End With
End Sub

The following C# sample displays the selected items:

private void axGrid1_SelectionChanged(object sender, System.EventArgs e)
{
	for ( int i = 0; i < axGrid1.Items.SelectCount; i++ )
	{
		object cell = axGrid1.Items.get_CellValue( axGrid1.Items.get_SelectedItem( i), 0 );
		System.Diagnostics.Debug.WriteLine( cell != null ? cell.ToString() : "" );
	}
}

The following VFP sample displays the selected items:

*** ActiveX Control Event ***

with thisform.Grid1.Items
	for i = 0 to .SelectCount - 1
		.DefaultItem = .SelectedItem( i )
		wait window nowait .CellValue( 0, 0 )
	next
endwith

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