GetExtent メソッドを使用して、グリッドのコンテナーのスケール モードを使用することによって、バンドの左端のポイントを返すことができます。GetOriginで返される座標は、グリッドの仮想領域の絶対左端に相対です。グリッドの仮想領域はグリッドのデータで占有される合計領域で、表示問題とは切り離されます。仮想領域のサイズは、コントロール、コンテナー、またはシステムの表示設定のサイズに依存しません。グリッドのスクロール方法と画面に表示されるバンドの部分は、このメソッドで返される値の影響を受けません。
特定の列のスクローリング領域でバンドの実際の起点を取得するためには、GetOriginで返された値からColScrollRegioのPositionプロパティを差し引く必要があることに注意してください。
Imports Infragistics.Shared Imports Infragistics.Win Imports Infragistics.Win.UltraWinGrid Imports System.Diagnostics Private Sub Button112_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles button112.Click Dim bands As BandsCollection = Me.UltraGrid1.DisplayLayout.Bands ' Loop through all the bands. Dim band As UltraGridBand For Each band In bands ' Get the origin and the extent. Dim origin As Integer = band.GetOrigin(BandOrigin.PreRowArea) Dim extent As Integer = band.GetExtent(BandOrigin.PreRowArea) ' Write out the origin and the extent. Debug.WriteLine("bands(" & band.Index & ") Origin = " & origin & ", Extent = " & extent) Next End Sub
using Infragistics.Shared; using Infragistics.Win; using Infragistics.Win.UltraWinGrid; using System.Diagnostics; private void button112_Click(object sender, System.EventArgs e) { BandsCollection bands = this.ultraGrid1.DisplayLayout.Bands; // Loop through all the bands. foreach ( UltraGridBand band in bands ) { // Get the origin and the extent. int origin = band.GetOrigin( BandOrigin.PreRowArea ); int extent = band.GetExtent( BandOrigin.PreRowArea ); // Write out the origin and the extent. Debug.WriteLine( "bands[" + band.Index + "] Origin = " + origin + ", Extent = " + extent ); } }