'宣言 Public ReadOnly Property Rows As RowsCollection
public RowsCollection Rows {get;}
Rows コレクションは、グリッドの行階層を移動したり、グリッドにデータが含まれるかどうかを調べたり、あるいは GroupBy モードで行がどのように表示されるかを確かめたりするための簡単な手段を提供します。標準的な階層表示でデータを表示する場合、Rows コレクションにはグリッドの最上位 (Band 0) にある行ごとに 1 つの UltraGridRow オブジェクトが含まれます。コレクション内の UltraGridRow オブジェクトは ChildBands プロパティを公開しています。このプロパティは、現在の行の子であるバンドの行を表す Rows コレクションのコレクションを返します。
Rows コレクションは GroupBy モードでも役立ちます。GroupBy モードでは、グリッドの最上位バンドが仮想的な "グループ化" 行で構成されます。この場合は、Rows コレクションを使用して、表示されているすべての GroupBy 行を取得できます。これらの行の ChildBand プロパティは、実際のデータにドリルダウンするための手段を提供します。
Imports Infragistics.Shared Imports Infragistics.Win Imports Infragistics.Win.UltraWinGrid Imports System.Diagnostics Private Sub Button23_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles button23.Click ' Loop throgh the rows. Dim i As Integer For i = 0 To Me.ultraGrid1.Rows.Count - 1 If TypeOf Me.ultraGrid1.Rows(i) Is UltraGridGroupByRow Then ' If the row is a group-by row, then print out the number of child rows it has. Dim groupByRow As UltraGridGroupByRow = DirectCast(Me.ultraGrid1.Rows(i), UltraGridGroupByRow) Debug.WriteLine(groupByRow.Value.ToString() & " has " & groupByRow.Rows.Count.ToString() & " number of child rows.") Else ' If the row is a regular row, then print out the number of child rows it has ' in "CustomerOrders" child band. Dim row As UltraGridRow = Me.ultraGrid1.Rows(i) Debug.WriteLine(row.Cells("CustomerID").Text & " has " & row.ChildBands("CustomersOrders").Rows.Count.ToString() & " number of child rows.") End If Next End Sub
using Infragistics.Shared; using Infragistics.Win; using Infragistics.Win.UltraWinGrid; using System.Diagnostics; private void button23_Click(object sender, System.EventArgs e) { // Loop throgh the rows. for ( int i = 0; i < this.ultraGrid1.Rows.Count; i++ ) { if ( this.ultraGrid1.Rows[i] is UltraGridGroupByRow ) { // If the row is a group-by row, then print out the number of child rows it has. UltraGridGroupByRow groupByRow = (UltraGridGroupByRow)this.ultraGrid1.Rows[i]; Debug.WriteLine( groupByRow.Value.ToString( ) + " has " + groupByRow.Rows.Count.ToString( ) + " number of child rows." ); } else { // If the row is a regular row, then print out the number of child rows it has // in "CustomersOrders" child band. UltraGridRow row = this.ultraGrid1.Rows[i]; Debug.WriteLine( row.Cells["CustomerID"].Text + " has " + row.ChildBands["CustomersOrders"].Rows.Count.ToString( ) + " number of child rows." ); } } }