同時に存在できる追加行はひとつだけです。新しい行が追加されると、この行のプロパティは True を返します。以前に追加した行はこのプロパティから False を返します。追加行が更新されると、追加行になるのを中止して、このプロパティから False を返します。また、UltraGrid.UpdateMode 設定に関係なく、もうひとつの行がアクティブ化されるまで追加行は更新されなくなります。これは、たとえ UpdateMode を OnCellChange または OnCellChangeOrLostFocus に設定しても、IsAddRow プロパティは行がフォーカスを失うまで True を返します。行の Update メソッドを使用して、追加行を明示的に更新します。
Imports Infragistics.Shared Imports Infragistics.Win Imports Infragistics.Win.UltraWinGrid Imports System.Diagnostics Private Sub Button24_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles button24.Click ' AddNew method throws an exception if adding is not allowed or conditions ' don't exist for such an operation to succeed. Try Dim addedRow As UltraGridRow = Me.ultraGrid1.DisplayLayout.Bands("Customers").AddNew() ' IsAddRow should be true since the row is an add row (until it's updated). Debug.WriteLine("Row.IsAddRow = " & addedRow.IsAddRow) Catch exc As Exception Debug.WriteLine("Exception thrown by AddNew: " & exc.Message) End Try End Sub
using Infragistics.Shared; using Infragistics.Win; using Infragistics.Win.UltraWinGrid; using System.Diagnostics; private void button24_Click(object sender, System.EventArgs e) { // AddNew method throws an exception if adding is not allowed or conditions // don't exist for such an operation to succeed. try { UltraGridRow addedRow = this.ultraGrid1.DisplayLayout.Bands["Customers"].AddNew( ); // IsAddRow should be true since the row is an add row (until it's updated). Debug.WriteLine( "Row.IsAddRow = " + addedRow.IsAddRow ); } catch ( Exception exc ) { Debug.WriteLine( "Exception thrown by AddNew: " + exc.Message ); } }