'宣言 Public ReadOnly Property DisplayLayout As UltraGridLayout
public UltraGridLayout DisplayLayout {get;}
オブジェクトの DisplayLayout プロパティは、オブジェクトの外観および動作に関連するさまざまなプロパティの設定を決める DisplayLayout オブジェクトへのアクセスに使用されます。DisplayLayout オブジェクトを使用すると、グリッドの複数のレイアウトを維持し、必要に応じて簡単に適用できます。グリッドのレイアウトはディスク、レジストリ、またはストレージ ストリームに保存して再度利用することもできます。
DisplayLayout オブジェクトには Appearance や Override のようなプロパティがあるため、DisplayLayout オブジェクトにはこれらのタイプのサブオブジェクトがあり、その設定もレイアウトの一部として含まれます。ただし実際に維持される情報は、これらのプロパティの設定がどのように割り当てられたかによって異なります。プロパティが DisplayLayout オブジェクトの組み込みオブジェクトを使用して設定された場合、そのプロパティの設定はレイアウトの一部に含まれます。しかし、名前付きオブジェクトがコレクションからプロパティに割り当てられた場合、レイアウトにはコレクションへの参照のみが含まれ、名前付きオブジェクトの実際の設定は含まれません。
たとえば、DisplayLayout オブジェクトの Appearance プロパティを使用して組み込みの Appearance オブジェクトの値を設定する場合は、次のようになります。
UltraWinGrid1.Layout.Appearance.ForeColor = vbBlue
この設定 (この場合は ForeColor) はレイアウトの一部に含まれ、他のレイアウト データと共に保存、読み込み、および適用されます。一方、名前付きオブジェクトの設定を次のように DisplayLayout の Appearance プロパティに適用する場合を考えてみます。
UltraWinGrid1.Appearances.Add "New1"
UltraWinGrid1.Appearances("New1").ForeColor = vbBlue
UltraWinGrid1.DisplayLayout.Appearance = UltraWinGrid1.Appearances("New1")
この場合、ForeColor の設定はレイアウトの一部として維持されません。その代わりレイアウトには "New1" Appearance オブジェクトへの参照が含まれ、レイアウトが適用されるときにそのオブジェクト内に存在する設定が使用されることになります。
デフォルトではレイアウトには Appearances コレクション全体のコピーが含まれるため、デフォルト設定を使用してレイアウトが保存および再利用された場合、オブジェクトの参照時にはオブジェクトは常にコレクション内に存在することになります。ただし、DisplayLayout オブジェクトの Load メソッドおよび Save メソッドを使用する際、レイアウトが適用されるときにコレクションが再作成されないようにすることも可能です。この場合、存在しないオブジェクトへの参照がレイアウトに含まれていれば、そのオブジェクトのプロパティのデフォルト設定が使用されます。
Imports Infragistics.Shared Imports Infragistics.Win Imports Infragistics.Win.UltraWinGrid Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.OleDbDataAdapter1.Fill(Me.DataSet11) Me.OleDbDataAdapter2.Fill(Me.DataSet11) Me.OleDbDataAdapter3.Fill(Me.DataSet11) ' Set the data source and data member to bind the grid. Me.UltraGrid1.DataSource = Me.DataSet11 Me.UltraGrid1.DataMember = "" ' Disable alpha-blending which may increase performance. Me.UltraGrid1.AlphaBlendEnabled = False ' Disable theme support in WinXP based systems. Me.UltraGrid1.SupportThemes = False ' Set the appearance of the UltraGrid. Me.UltraGrid1.DisplayLayout.Appearance.BackColor = Color.Gray ' Set the border style of the UltraGrid. Me.UltraGrid1.DisplayLayout.BorderStyle = UIElementBorderStyle.InsetSoft ' Set the text, appearance and border styles of the caption. Me.UltraGrid1.Text = "UltraGrid Caption" Me.UltraGrid1.DisplayLayout.CaptionAppearance.FontData.Bold = DefaultableBoolean.True Me.UltraGrid1.DisplayLayout.BorderStyleCaption = UIElementBorderStyle.RaisedSoft ' Set the update mode which dictates when the UltraGrid calls EndEdit ' on IEditableObject row objects. Me.UltraGrid1.UpdateMode = UpdateMode.OnRowChangeOrLostFocus ' Set the scroll style to Immediate so that the UltraGrid scrolls the rows as ' the vertical scroll bar thumb is dragged. Normally the UltraGrid defers the ' scrolling until the thumb is released and displays scroll tips instead. Me.UltraGrid1.DisplayLayout.ScrollStyle = ScrollStyle.Immediate End Sub
using Infragistics.Shared; using Infragistics.Win; using Infragistics.Win.UltraWinGrid; using System.Diagnostics; private void Form1_Load(object sender, System.EventArgs e) { this.oleDbDataAdapter1.Fill( this.dataSet11 ); this.oleDbDataAdapter2.Fill( this.dataSet11 ); this.oleDbDataAdapter3.Fill( this.dataSet11 ); // Set the data source and data member to bind the grid. this.ultraGrid1.DataSource = this.dataSet11; this.ultraGrid1.DataMember = ""; // Disable alpha-blending which may increase performance. this.ultraGrid1.AlphaBlendEnabled = false; // Disable theme support in WinXP based systems. this.ultraGrid1.SupportThemes = false; // Set the appearance of the UltraGrid. this.ultraGrid1.DisplayLayout.Appearance.BackColor = Color.Gray; // Set the border style of the UltraGrid. this.ultraGrid1.DisplayLayout.BorderStyle = UIElementBorderStyle.InsetSoft; // Set the text, appearance and border styles of the caption. this.ultraGrid1.Text = "UltraGrid Caption"; this.ultraGrid1.DisplayLayout.CaptionAppearance.FontData.Bold = DefaultableBoolean.True; this.ultraGrid1.DisplayLayout.BorderStyleCaption = UIElementBorderStyle.RaisedSoft; // Set the update mode which dictates when the UltraGrid calls EndEdit // on IEditableObject row objects. this.ultraGrid1.UpdateMode = UpdateMode.OnRowChangeOrLostFocus; // Set the scroll style to Immediate so that the UltraGrid scrolls the rows as // the vertical scroll bar thumb is dragged. Normally the UltraGrid defers the // scrolling until the thumb is released and displays scroll tips instead. this.ultraGrid1.DisplayLayout.ScrollStyle = ScrollStyle.Immediate; }