バージョン

SetCount(Int32,Boolean) メソッド

指定された数に行数を設定します。新しい数が現在の数より大きい場合は、コレクションの末尾に行が追加されます。新しい数が現在の数より少ない場合は、コレクションの末尾から行が削除されます。
シンタックス
'宣言
 
Public Overloads Sub SetCount( _
   ByVal newCount As Integer, _
   ByVal forceNotifyListReset As Boolean _
) 
public void SetCount( 
   int newCount,
   bool forceNotifyListReset
)

パラメータ

newCount
コレクションの新しい数。
forceNotifyListReset
設定する数が現在の数と異なる場合、SetCount メソッドは、ListChanged タイプが Reset に設定された、IBindingList 実装の ListChanged 通知を必ず発生させます。この通知が発生すると、このデータ ソースにバインドされたコントロールにデータが再読み込みされ、コントロールがリフレッシュされます。ただし、数が同じ場合、このメソッドはデフォルトでは ListChanged 通知を発生させません。forceNotifyListReset パラメーターに True を指定すると、新しい数が元の数と同じ場合でも ListChanged が発生します。
解説

注: SetCount メソッドを呼び出したときに項目が追加または削除されても、追加イベント(RowAdding、RowAdded)または削除イベント(RowDeleting、RowDeleted)は発生しません。

使用例
Imports Infragistics.Shared
Imports Infragistics.Win
Imports Infragistics.Win.UltraWinDataSource


    Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles button1.Click
        Dim ds As UltraDataSource = New UltraDataSource()

        Dim col1 As UltraDataColumn = ds.Band.Columns.Add("ID", GetType(Integer))
        Dim col2 As UltraDataColumn = ds.Band.Columns.Add("Col2", GetType(String))

        Dim row As UltraDataRow
        Dim i As Integer
        For i = 0 To 5 - 1
            ' Look below where we call the Insert method for explanation on 
            ' what raiseAddEvents parameter does.
            row = ds.Rows.Add(True, New Object() {i, "Val " & i})
        Next

        ' Insert a row at index 0. A new row will be created and added to the
        ' collection at the specified index. RaiseAddEvents parameter of Add and
        ' Insert methods indicates whether the UltraDataSource should raise it's
        ' own RowAdding and RowAdded events. It does not indicate whether
        ' IBindingList.ListChanged event is raised or not.
        ' IBindingList.ListChanged event will always be raised regardless of the
        ' value of this parameter. This is useful when you have some logic in
        ' those event handlers for initializing new rows and you want that logic
        ' to be executed for the new row that you are inserting. If you use the
        ' overloads of Add or Insert that do not take raiseAddEvents parameter
        ' then add events won't be raised.
        row = ds.Rows.Insert(0, False, New Object() {-1, "Val -1"})

        ' Remove the inserted row. RaiseDeleteEvents parameter is analogous to
        ' the raiseAddEvents parameter of the Add and Insert methods. Look above
        ' where we call Insert for an explanation.
        row.ParentCollection.Remove(row, False)

        ' To check if a row is in a collection, use the Contains method.
        ' Following should print out false since the row has been deleted.
        Debug.WriteLine("Is deleted row in collection ? " & row.ParentCollection.Contains(row))

        ' A deleted row will have the index of -1. Following should print out -1
        ' since the row is not in the collection anymore. Row's Index property
        ' and IndexOf methods give the same results.
        Debug.WriteLine("Deleted row's index is " & row.Index)
        Debug.WriteLine("Deleted row's index is " & row.ParentCollection.IndexOf(row))

        ' You can also use the RemoveAt method to remove a row by specifying the 
        ' index of the row instead of the row itself.
        ds.Rows.RemoveAt(0, False)

        ' Print out the row count. This should print 4 as the row count since we
        ' added 5 using Add method in the for loop above and then added one
        ' using the Insert method above and then removed two using Remove and
        ' RemoveAt methods each.
        Debug.WriteLine("Row count = " & ds.Rows.Count)

        ' You can remove all rows from a row collection using Clear method. This
        ' is more efficient than deleting individual rows using Remove or
        ' RemoveAt methods.
        ds.Rows.Clear()

        ' You can use the SetCount method to add multiple rows at once. This can
        ' be more efficient than adding individual rows using Add method when
        ' adding a lot of rows.
        ds.Rows.SetCount(5)

        ' Add another 5 rows by setting the count to 10. Previously we added 5
        ' rows when we called SetCount( 5 ) above. Calling SetCount with 10 will
        ' add another 5 rows so that the new count becomes 10.
        ds.Rows.SetCount(10)

        ' Following line should print out 10.
        Debug.WriteLine("Row count = " & ds.Rows.Count)

        ds.Rows.SetCount(100000)

        ' Following line should print out 100000.
        Debug.WriteLine("Row count = " & ds.Rows.Count)
    End Sub
using Infragistics.Shared;
using Infragistics.Win;
using Infragistics.Win.UltraWinDataSource;
using System.Diagnostics;


		private void button1_Click(object sender, System.EventArgs e)
		{
			UltraDataSource ds = new UltraDataSource( );

			UltraDataColumn col1 = ds.Band.Columns.Add( "ID", typeof( int ) );
			UltraDataColumn col2 = ds.Band.Columns.Add( "Col2", typeof( string ) );

			UltraDataRow row;
			for ( int i = 0; i < 5; i++ )
			{
				// Look below where we call the Insert method for explanation on 
				// what raiseAddEvents parameter does.
				row = ds.Rows.Add( true, new object[] { i, "Val " + i } );
			}

			// Insert a row at index 0. A new row will be created and added to the
			// collection at the specified index. RaiseAddEvents parameter of Add and
			// Insert methods indicates whether the UltraDataSource should raise it's
			// own RowAdding and RowAdded events. It does not indicate whether
			// IBindingList.ListChanged event is raised or not.
			// IBindingList.ListChanged event will always be raised regardless of the
			// value of this parameter. This is useful when you have some logic in
			// those event handlers for initializing new rows and you want that logic
			// to be executed for the new row that you are inserting. If you use the
			// overloads of Add or Insert that do not take raiseAddEvents parameter
			// then add events won't be raised.
			row = ds.Rows.Insert( 0, false, new object[] { -1, "Val -1" } );

			// Remove the inserted row. RaiseDeleteEvents parameter is analogous to
			// the raiseAddEvents parameter of the Add and Insert methods. Look above
			// where we call Insert for an explanation.
			row.ParentCollection.Remove( row, false );

			// To check if a row is in a collection, use the Contains method.
			// Following should print out false since the row has been deleted.
			Debug.WriteLine( "Is deleted row in collection ? " + row.ParentCollection.Contains( row ) );

			// A deleted row will have the index of -1. Following should print out -1
			// since the row is not in the collection anymore. Row's Index property
			// and IndexOf methods give the same results.
			Debug.WriteLine( "Deleted row's index is " + row.Index );
			Debug.WriteLine( "Deleted row's index is " + row.ParentCollection.IndexOf( row ) );

			// You can also use the RemoveAt method to remove a row by specifying the 
			// index of the row instead of the row itself.
			ds.Rows.RemoveAt( 0, false );

			// Print out the row count. This should print 4 as the row count since we
			// added 5 using Add method in the for loop above and then added one
			// using the Insert method above and then removed two using Remove and
			// RemoveAt methods each.
			Debug.WriteLine( "Row count = " + ds.Rows.Count );

			// You can remove all rows from a row collection using Clear method. This
			// is more efficient than deleting individual rows using Remove or
			// RemoveAt methods.
			ds.Rows.Clear( );

			// You can use the SetCount method to add multiple rows at once. This can
			// be more efficient than adding individual rows using Add method when
			// adding a lot of rows.
			ds.Rows.SetCount( 5 );

			// Add another 5 rows by setting the count to 10. Previously we added 5
			// rows when we called SetCount( 5 ) above. Calling SetCount with 10 will
			// add another 5 rows so that the new count becomes 10.
			ds.Rows.SetCount( 10 );

			// Following line should print out 10.
			Debug.WriteLine( "Row count = " + ds.Rows.Count );

			ds.Rows.SetCount( 100000 );

			// Following line should print out 100000.
			Debug.WriteLine( "Row count = " + ds.Rows.Count );
		}
参照