'宣言 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; }