バージョン

BeforeSelectChange イベント

ひとつまたは複数の行、セル、または列のオブジェクトが選択または選択解除される前に発生します。
シンタックス
'宣言
 
Public Event BeforeSelectChange As BeforeSelectChangeEventHandler
public event BeforeSelectChangeEventHandler BeforeSelectChange
イベント データ

イベント ハンドラが、このイベントに関連するデータを含む、BeforeSelectChangeEventArgs 型の引数を受け取りました。次の BeforeSelectChangeEventArgs プロパティには、このイベントの固有の情報が記載されます。

プロパティ解説
Cancel System.ComponentModel.CancelEventArgsから継承されます。 
NewSelections 新規選択 (読み取り専用)
Type 選択の変更された値を返します。
解説

selectchange 引数は、行、セル、または列の選択に関わるオブジェクトのタイプを示します。行または列が選択されると、それを含むセルは選択されたと考慮されません。

newselections 引数は、選択される行、セル、または列への参照を取得するために使用できる Selected コレクションへの参照を返します。この参照を使用して、返されたコレクションのプロパティまたはメソッドだけでなく、コレクション内のオブジェクトのプロパティまたはメソッドにもアクセスできます。

cancel 引数を使用して、オブジェクトが選択されないようにプログラミングできます。一定の条件が満たされない限り、ユーザーが選択を変更できないようにすることが可能です。

このイベントは、プログラムまたはユーザーの操作によって 1 つ以上のオブジェクトが選択または選択解除される前に発生します。

コントロールの Selected プロパティは、どのオブジェクトが以前に選択されたかを決定するために使用できます。

1 つ以上の行、セル、または列のオブジェクトが選択または選択解除された後に発生する AfterSelectChange イベントが、このイベントの後に生成されます。

注: 1 つ以上の行がグリッドから削除されるときに、このイベントを発生します。ただしキャンセルはできません。動作をキャンセルする必要がある場合、BeforeRowsDeleted イベントを代わりに使用してください。

使用例
Imports Infragistics.Shared
Imports Infragistics.Win
Imports Infragistics.Win.UltraWinGrid
Imports System.Diagnostics

   Private Sub UltraGrid1_BeforeSelectChange(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.BeforeSelectChangeEventArgs) Handles ultraGrid1.BeforeSelectChange

       ' ユーザーが行、列、またはセルを選択したときに BeforeSelectChange を発生します
       ' 渡されたイベント引数の NewSelections プロパティは新しい選択を含みます
       ' Type は行、列、またはセルの選択が変更したかどうかを
       ' 指定します新しい選択をキャンセルするには、
       ' イベント引数の Cancel プロパティを設定しますキャンセルした場合、UltraGrid は
       ' 以前の選択に戻ります

       Debug.Write("BeforeSelectChange: ")

       ' タイプを使用して、行、列、またはセルが選択されたかどうかを確認します
       If e.Type Is GetType(UltraGridGroupByRow) Then

           ' 項目タイプはグループ行のため、その項目にアクセスするには Selected の Rows プロパティを使用します
           If e.NewSelections.Rows.Count = 0 Then
               Debug.WriteLine("Group-by rows are being unselected.")
           Else
               Debug.WriteLine(e.NewSelections.Rows.Count & " group-by rows are being selected.")
           End If

       ElseIf e.Type Is GetType(UltraGridRow) Then

           ' 項目タイプは行のため、その項目にアクセスするには Selected の Rows プロパティを使用します
           If e.NewSelections.Rows.Count = 0 Then
               Debug.WriteLine("Rows are being unselected.")
           Else
               Debug.WriteLine(e.NewSelections.Rows.Count & " rows are being selected.")
           End If

       ElseIf e.Type Is GetType(UltraGridColumn) Then

           ' 項目タイプは列のため、その項目にアクセスするには Selected の Columns プロパティを使用します
           If e.NewSelections.Columns.Count = 0 Then
               Debug.WriteLine("Columns are being unselected.")
           Else
               Debug.WriteLine(e.NewSelections.Columns.Count & " columns are being selected.")
           End If

       ElseIf e.Type Is GetType(UltraGridCell) Then

           ' 項目タイプはセルのため、その項目にアクセスするには Selected の Cells プロパティを使用します
           If e.NewSelections.Cells.Count = 0 Then
               Debug.WriteLine("Columns are being unselected.")
           Else
               Debug.WriteLine(e.NewSelections.Cells.Count & " cells are being selected.")
           End If

       End If
   End Sub
using Infragistics.Shared;
using Infragistics.Win;
using Infragistics.Win.UltraWinGrid;
using System.Diagnostics;

private void ultraGrid1_BeforeSelectChange(object sender, Infragistics.Win.UltraWinGrid.BeforeSelectChangeEventArgs e)
{

	// ユーザーが行、列、またはセルを選択したときに BeforeSelectChange を発生します
	// 渡されたイベント引数の NewSelections プロパティは新しい選択を含みます
	// Type は行、列、またはセルの選択が変更されたかどうかを
	// 指定します新しい選択をキャンセルするには、
	// イベント引数の Cancel プロパティを設定しますキャンセルした場合、UltraGrid は
	// 以前の選択に戻ります

	Debug.Write( "BeforeSelectChange: " );

	// タイプを使用して、行、列、またはセルが選択されたかどうかを確認します
	if ( typeof( UltraGridGroupByRow ) == e.Type )
	{
		// 項目タイプはグループ行のため、その項目にアクセスするには Selected の Rows プロパティを使用します
		if ( e.NewSelections.Rows.Count == 0 )
			Debug.WriteLine( "Group-by rows are being unselected." );
		else
			Debug.WriteLine( e.NewSelections.Rows.Count + " group-by rows are being selected." );
	} 
	else if ( typeof( UltraGridRow ) == e.Type )
	{
		// 項目タイプは行のため、その項目にアクセスするには Selected の Rows プロパティを使用します
		if ( e.NewSelections.Rows.Count == 0 )
			Debug.WriteLine( "Rows are being unselected." );
		else
			Debug.WriteLine( e.NewSelections.Rows.Count + " rows are being selected." );
	}
	else if ( typeof( UltraGridColumn ) == e.Type )
	{
		// 項目タイプは列のため、その項目にアクセスするには Selected の Columns プロパティを使用します
		if ( e.NewSelections.Columns.Count == 0 )
			Debug.WriteLine( "Columns are being unselected." );
		else
			Debug.WriteLine( e.NewSelections.Columns.Count + " columns are being selected." );
	}
	else if ( typeof( UltraGridCell ) == e.Type )
	{
		// 項目タイプはセルのため、その項目にアクセスするには Selected の Cells プロパティを使用します
		if ( e.NewSelections.Cells.Count == 0 )
			Debug.WriteLine( "Columns are being unselected." );
		else
			Debug.WriteLine( e.NewSelections.Cells.Count + " cells are being selected." );
	}	
									
}
参照