バージョン

BeforeRowInsert イベント

新しい行が挿入される前に発生します。
シンタックス
'宣言
 
Public Event BeforeRowInsert As BeforeRowInsertEventHandler
public event BeforeRowInsertEventHandler BeforeRowInsert
イベント データ

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

プロパティ解説
Band バンド (読み取り専用)。
Cancel System.ComponentModel.CancelEventArgsから継承されます。 
ParentRow 親の行 (読み取り専用)
解説

band 引数は、UltraGridBand オブジェクトへの参照を返します。この参照を使用して、新しい行が挿入されるそのバンドのプロパティを設定したり、メソッドを呼び出したりすることができます。この参照を使用して、返されるバンドのプロパティまたはメソッドにアクセスできます。

parentrow 引数は、挿入される行の親となる行でプロパティを設定でき、メソッドを呼び出す UltraGridRow オブジェクトへの参照を返します。この参照を使用して、返された行のプロパティを設定したり、メソッドを呼び出したりすることができます。挿入される行が子でない場合、parentrow は Nothing に設定されます。

cancel 引数を使用して、行が挿入されないようにプログラミングできます。一定の条件が満たされない限り、ユーザーが新しい行を挿入されないようにすることが可能です。

このイベントは、ユーザーによる操作、またはプログラム操作で新しい行が挿入された後に生成されます。AddNew メソッドを起動してプログラムで新しい行を挿入できます

提供された cancel を True に設定しなければ、このイベントの後に AfterRowInsert イベント (行が挿入されたに発生するイベント) が発生します。

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

   Private Sub UltraGrid1_BeforeRowInsert(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.BeforeRowInsertEventArgs) Handles ultraGrid1.BeforeRowInsert

       ' 行を追加するために新規追加ボタンがクリックされたときに、
       ' BeforeRowInsert を発生しますこのイベントでは、条件的に行の追加を回避するために、
       ' Cancel を True に設定できます

       ' 行が追加される行コレクションにもアクセスできます
       Dim rowsColl As RowsCollection = Nothing
       If Nothing Is e.ParentRow Then
           ' ParentRow が null の場合、行は一番上の行コレクションに追加されます
           ' UltraGrid の Rows プロパティを使用してアクセスできます
           rowsColl = Me.ultraGrid1.Rows
       Else
           ' ParentRow が null でない場合、行は子孫バンドに追加されますここに
           ' 行コレクションを取得します
           rowsColl = e.ParentRow.ChildBands(e.Band).Rows
       End If

       Debug.WriteLine("Row is being added to rows collection with " & rowsColl.Count.ToString() & " number of rows.")

       Dim result As DialogResult = MessageBox.Show("You are about to add a row to " & e.Band.Key & ". Continue ?", _
                                                       "Confirm", MessageBoxButtons.YesNo, MessageBoxIcon.Question)

       ' UltraGrid で行の追加を中止するために Cancel を True に設定します
       If DialogResult.No = result Then
           e.Cancel = True
       End If

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

private void ultraGrid1_BeforeRowInsert(object sender, Infragistics.Win.UltraWinGrid.BeforeRowInsertEventArgs e)
{

	// 行を追加するために新規追加ボタンがクリックされたときに、
	// BeforeRowInsert を発生しますこのイベントでは、条件的に行の追加を回避するために、
	// Cancel を True に設定できます

	// 行が追加される行コレクションにもアクセスできます
	RowsCollection rowsColl = null;
	if ( null == e.ParentRow )
	{
		// ParentRow が null の場合、行は一番上の行コレクションに追加します
		// UltraGrid の Rows プロパティを使用するとアクセスできます
		rowsColl = this.ultraGrid1.Rows;
	}
	else
	{
		// ParentRow が null でない場合、行は子孫バンドに追加されますここに
		// 行コレクションを取得します
		rowsColl = e.ParentRow.ChildBands[ e.Band ].Rows;
	}

	Debug.WriteLine( "Row is being added to rows collection with " + rowsColl.Count.ToString( ) + " number of rows." );

	DialogResult result = MessageBox.Show( 
		"You are about to add a row to " + e.Band.Key + ". Continue ?", "Confirm",
		MessageBoxButtons.YesNo, MessageBoxIcon.Question );

	// UltraGrid で行の追加を中止するために Cancel を True に設定します
	if ( DialogResult.No == result )
		e.Cancel = true;

}
参照