|Visual Basic (Declaration)|
Public Class UltraGridDisplayLayout Inherits UltraGridLayout Implements Infragistics.Shared.IKeyedSubObject, Infragistics.Shared.IKeyedSubObjectEx, Infragistics.Win.IImageListProvider, Infragistics.Win.ISupportPresets
public class UltraGridDisplayLayout : UltraGridLayout, Infragistics.Shared.IKeyedSubObject, Infragistics.Shared.IKeyedSubObjectEx, Infragistics.Win.IImageListProvider, Infragistics.Win.ISupportPresets
The DisplayLayout property of an object is used to access the UltraGridLayout object that determines the settings of various properties related to the appearance and behavior of the object. The UltraGridLayout object provides a simple way to maintain multiple layouts for the grid and apply them as needed. You can also save grid layouts to disk, the registry or a storage stream and restore them later.
The UltraGridLayout object has properties such as Appearance and Override, so the UltraGridLayout object has sub-objects of these types, and their settings are included as part of the layout. However, the information that is actually persisted depends on how the settings of these properties were assigned. If the properties were set using the UltraGridLayout object's intrinsic objects, the property settings will be included as part of the layout. However, if a named object was assigned to the property from a collection, the layout will only include the reference into the collection, not the actual settings of the named object. (For an overview of the difference between named and intrinsic objects, please see the UltraGridLayout.Appearanceproperty.
For example, if the Layout object's Appearance property is used to set values for the intrinsic Appearance object like this:
UltraGrid1.DisplayLayout.Appearance.ForeColor = vbBlue
Then the setting (in this case, ForeColor) will be included as part of the layout, and will be saved, loaded and applied along with the other layout data. However, suppose you apply the settings of a named object to the UltraGridLayout's Appearance property in this manner:
UltraWinGrid1.Appearances("New1").ForeColor = vbBlue
UltraWinGrid1.Layout.Appearance = UltraWinGrid1.Appearances("New1")
In this case, the ForeColor setting will not be persisted as part of the layout. Instead, the layout will include a reference to the "New1" Appearance object and use whatever setting is present in that object when the layout is applied.
By default, the layout includes a copy of the entire Appearances collection, so if the layout is saved and restored using the default settings, the object should always be present in the collection when it is referred to. However, it is possible to use the Load and Save methods of the UltraGridLayout object in such a way that the collection will not be re-created when the layout is applied. If this is the case, and the layout contains a reference to a nonexistent object, the default settings for that object's properties will be used.
The following sample code shows how to set some UltraGridLayout properties in the InitializeLayout event.
Private Sub UltraGrid1_InitializeLayout(ByVal sender As System.Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles UltraGrid1.InitializeLayout e.Layout.ViewStyle = Infragistics.Win.UltraWinGrid.ViewStyle.MultiBand e.Layout.ViewStyleBand = Infragistics.Win.UltraWinGrid.ViewStyleBand.OutlookGroupBy e.Layout.AutoFitStyle = AutoFitStyle.ResizeAllColumns e.Layout.MaxRowScrollRegions = 3 e.Layout.CaptionAppearance.ForeColor = Color.Red e.Layout.GroupByBox.BandLabelBorderStyle = Infragistics.Win.UIElementBorderStyle.Dotted e.Layout.GroupByBox.ShowBandLabels = Infragistics.Win.UltraWinGrid.ShowBandLabels.IntermediateBandsOnly e.Layout.Override.CellAppearance.BackColor = Color.White e.Layout.Override.CellAppearance.BackColor2 = Color.Blue e.Layout.Override.CellAppearance.BackGradientStyle = Infragistics.Win.GradientStyle.VerticalBump e.Layout.AddNewBox.Hidden = False e.Layout.AddNewBox.Style = Infragistics.Win.UltraWinGrid.AddNewBoxStyle.Compact e.Layout.AddNewBox.ButtonStyle = Infragistics.Win.UIElementButtonStyle.PopupBorderless e.Layout.AddNewBox.ButtonConnectorStyle = Infragistics.Win.UIElementBorderStyle.Dotted End Sub