バージョン

VisibleRows プロパティ

行スクロール領域に現在表示されている、Row オブジェクトの VisibleRows コレクションへの参照を返します。このプロパティは実行時には読み取り専用です。このプロパティは設計時には使用できません。
シンタックス
'宣言
 
Public ReadOnly Property VisibleRows As VisibleRowsCollection
public VisibleRowsCollection VisibleRows {get;}
解説

このプロパティは、行スクロール領域に現在表示される Row オブジェクトへの参照を取得するために使用できる VisibleRows コレクションへの参照を返します。この参照を使用して、返されたコレクションのプロパティまたはメソッドだけでなく、コレクション内のオブジェクトのプロパティまたはメソッドにもアクセスできます。

行スクロール領域をスクロールすることによって行が表示されるか、または隠れると、その行に対応する Row オブジェクトが、このプロパティによって返される VisibleRows コレクションに追加されるか、またはそこから削除されます。

Hidden プロパティが True に設定されている行 (非表示の行) はコレクションに含まれません。

返される VisibleRows コレクションの Count プロパティは、行スクロール領域で現在表示される行の数を決定するために使用されます。

注: 表示可能な行コレクションには常に、画面からスクロールアウトされている 1 行下の行が含まれています。これは、行スクロール領域が 1 行下にスクロールされたときに表示される次の行を確認する際に役立ちます。表示行の範囲と、それらが画面上に実際に表示されるかどうかを確かめるには、使用例のセクションを参照してください。

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


    Private Function IsRowVisible(ByVal row As Infragistics.Win.UltraWinGrid.UltraGridRow) As Boolean
        Dim rowElement As Infragistics.Win.UIElement = _
            Me.UltraGrid1.DisplayLayout.UIElement.GetDescendant( _
                    GetType(Infragistics.Win.UltraWinGrid.RowUIElement), row)

        If Not Nothing Is rowElement Then
            ' You can also check if the row is horizontally scrolled out view by
            ' checking to see if the row rectangle intersects the grid's rectangle.
            '
            If Not Rectangle.Intersect(Me.UltraGrid1.ClientRectangle, rowElement.Rect).IsEmpty Then
                Return True
            End If
        End If

        Return False
    End Function

    Private Function GetVisibleRowCount(ByVal visibleRows As Infragistics.Win.UltraWinGrid.VisibleRowsCollection) As Integer
        Dim visCount As Integer = 0

        Dim vr As Infragistics.Win.UltraWinGrid.VisibleRow

        For Each vr In visibleRows
            If Me.IsRowVisible(vr.Row) Then
                visCount += 1
            End If
        Next

        Return visCount
    End Function


    Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        MessageBox.Show("" & Me.GetVisibleRowCount(UltraGrid1.DisplayLayout.RowScrollRegions(0).VisibleRows))
    End Sub
using Infragistics.Shared;
using Infragistics.Win;
using Infragistics.Win.UltraWinGrid;
using System.Diagnostics;


		private bool IsRowVisible( Infragistics.Win.UltraWinGrid.UltraGridRow row )
		{
			Infragistics.Win.UIElement rowElement =
				this.ultraGrid1.DisplayLayout.UIElement.GetDescendant( 
				typeof( Infragistics.Win.UltraWinGrid.RowUIElement ), row );

			if ( null != rowElement )
			{
				// You can also check if the row is horizontally scrolled out view by
				// checking to see if the row rectangle intersects the grid's rectangle.
				//
				if ( ! Rectangle.Intersect( this.ultraGrid1.ClientRectangle, rowElement.Rect ).IsEmpty )
					return true;
			}

			return false;
		}

		private int GetVisibleRowCount( Infragistics.Win.UltraWinGrid.VisibleRowsCollection visibleRows )
		{
			int visCount = 0;

			foreach ( Infragistics.Win.UltraWinGrid.VisibleRow vr in visibleRows )
			{
				if ( this.IsRowVisible( vr.Row ) )
					visCount++;
			}

			return visCount;
		}

		private void button1_Click(object sender, System.EventArgs e)
		{
			MessageBox.Show( "" + this.GetVisibleRowCount( ultraGrid1.DisplayLayout.RowScrollRegions[0].VisibleRows ) );
		}
参照