バージョン

Key プロパティ (UltraDataBand)

オーバーライド。コレクション内の項目のキー。このプロパティはバンドの名前を指定します。
シンタックス
'宣言
 
Public Overrides Property Key As String
public override string Key {get; set;}
解説

バンドに関連付けられた行コレクションのリスト名としてバンドの Key も使用されます。ItypedList の GetListName 実装はこの値を返します。キーはすべてのバンドで一意でなければなりません。

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


    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.UltraGrid1.DataSource = Me.UltraDataSource1

        ' Set the root band key so we can easily refer to it later in various
        ' event handlers.
        '
        Me.UltraDataSource1.Band.Key = "RootBand"

        ' Add three columns to the root band.
        Me.UltraDataSource1.Band.Columns.Add("ID", GetType(Integer))
        Me.UltraDataSource1.Band.Columns.Add("Col0", GetType(Integer))
        Me.UltraDataSource1.Band.Columns.Add("Col1", GetType(String))

        ' Add a child band to the root band.
        Dim childBand As UltraDataBand = Me.UltraDataSource1.Band.ChildBands.Add("ChildBand")

        ' Add two columns to the child band.
        childBand.Columns.Add("ChildCol0", GetType(Double))
        childBand.Columns.Add("ChildCol1", GetType(DateTime))

        ' Set the count on the root rows collection to 100.
        Me.UltraDataSource1.Rows.SetCount(100)

        ' Set the id on the root rows.
        Dim column As UltraDataColumn = Me.UltraDataSource1.Band.Columns("ID")
        Dim i As Integer
        For i = 0 To Me.UltraDataSource1.Rows.Count - 1
            Me.UltraDataSource1.Rows(i)(column) = i
        Next
    End Sub

    Dim random As Random = New Random()

    Private Sub UltraDataSource1_CellDataRequested(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinDataSource.CellDataRequestedEventArgs) Handles UltraDataSource1.CellDataRequested
        ' CellDataRequested is fired for every cell. In CellDataRequested event handler
        '

        ' e.Row property indicates which row and e.Column indicates which column the
        ' cell data is being requested for.
        Dim row As UltraDataRow = e.Row

        If "RootBand" Is e.Column.Band.Key Then

            Select Case e.Column.Key
                Case "Col0"
                    e.Data = Me.random.Next()
                Case "Col1"
                    e.Data = "String " & Me.random.Next()
            End Select

        ElseIf "ChildBand" Is e.Column.Band.Key Then

            Select Case e.Column.Key
                Case "ChildCol0"
                    e.Data = Me.random.NextDouble()
                Case "ChildCol1"
                    e.Data = DateTime.Now.AddDays(Me.random.Next(1000))
            End Select

        End If

        ' If CacheData is set to true, which it is by default, then UltraDataSource
        ' will cache the provided cell value and won't fire CellDataRequested next
        ' time for the cell.
        e.CacheData = True
    End Sub

    Private Sub UltraDataSource1_InitializeRowsCollection(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinDataSource.InitializeRowsCollectionEventArgs) Handles UltraDataSource1.InitializeRowsCollection
        If "ChildBand" Is e.Rows.Band.Key Then
            ' For every parent row, we will have 10 child rows.
            e.Rows.SetCount(10)
        End If
    End Sub
using Infragistics.Shared;
using Infragistics.Win;
using Infragistics.Win.UltraWinDataSource;
using Infragistics.Win.UltraWinGrid;
using System.Diagnostics;


		private void Form1_Load(object sender, System.EventArgs e)
		{
			this.ultraGrid1.DataSource = this.ultraDataSource1;

			// Set the root band key so we can easily refer to it later in various
			// event handlers.
			//
			this.ultraDataSource1.Band.Key = "RootBand";

			// Add three columns to the root band.
			this.ultraDataSource1.Band.Columns.Add( "ID", typeof( int ) );
			this.ultraDataSource1.Band.Columns.Add( "Col0", typeof( int ) );
			this.ultraDataSource1.Band.Columns.Add( "Col1", typeof( string ) );

			// Add a child band to the root band.
			UltraDataBand childBand = this.ultraDataSource1.Band.ChildBands.Add( "ChildBand" );

			// Add two columns to the child band.
			childBand.Columns.Add( "ChildCol0", typeof( double ) );
			childBand.Columns.Add( "ChildCol1", typeof( DateTime ) );

			// Set the count on the root rows collection to 100.
			this.ultraDataSource1.Rows.SetCount( 100 );

			// Set the id on the root rows.
			UltraDataColumn column = this.ultraDataSource1.Band.Columns["ID"];
			for ( int i = 0; i < this.ultraDataSource1.Rows.Count; i++ )
				this.ultraDataSource1.Rows[i][column] = i;
		}

		Random random = new Random( );

		private void ultraDataSource1_CellDataRequested(object sender, Infragistics.Win.UltraWinDataSource.CellDataRequestedEventArgs e)
		{
			// CellDataRequested is fired for every cell.

			// e.Row property indicates which row and e.Column indicates which column the
			// cell data is being requested for.
			UltraDataRow row = e.Row;

			if ( "RootBand" == e.Column.Band.Key )
			{
				switch ( e.Column.Key )
				{
					case "Col0":
						e.Data = this.random.Next( );
						break;
					case "Col1":
						e.Data = "String " + this.random.Next( );
						break;
				}
			}
			else if ( "ChildBand" == e.Column.Band.Key )
			{
				switch ( e.Column.Key )
				{
					case "ChildCol0":
						e.Data = this.random.NextDouble( );
						break;
					case "ChildCol1":
						e.Data = DateTime.Now.AddDays( this.random.Next( 1000 ) );
						break;
				}
			}

			// If CacheData is set to true, which it is by default, then UltraDataSource
			// will cache the provided cell value and won't fire CellDataRequested next
			// time for the cell.
			e.CacheData = true;
		}

		private void ultraDataSource1_InitializeRowsCollection(object sender, Infragistics.Win.UltraWinDataSource.InitializeRowsCollectionEventArgs e)
		{
			if ( "ChildBand" == e.Rows.Band.Key )
			{
				// For every parent row, we will have 10 child rows.
				e.Rows.SetCount( 10 );
			}
		}
参照