Modules/GUIs.Common/GridBuilder.vb
2021-04-26 15:22:11 +02:00

57 lines
1.4 KiB
VB.net

Imports DevExpress.XtraGrid
Imports DevExpress.XtraGrid.Views.Grid
Public Class GridBuilder
Public ReadOnly Property Views As New List(Of GridView)
Public Sub New(GridView As GridView)
Views.Add(GridView)
End Sub
Public Sub New(GridViews As List(Of GridView))
Views.AddRange(GridViews)
End Sub
''' <summary>
''' Applies common properties to all GridViews
''' </summary>
Public Function WithDefaults() As GridBuilder
For Each oView In Views
WithDefaults(oView)
Next
Return Me
End Function
''' <summary>
''' Applies common properties to the supplied GridView
''' </summary>
Public Function WithDefaults(GridView As GridView)
GridView.OptionsView.EnableAppearanceEvenRow = True
GridView.OptionsView.ShowAutoFilterRow = True
Return Me
End Function
''' <summary>
''' Applies read-only properties to all GridViews
''' </summary>
Public Function WithReadOnlyOptions() As GridBuilder
For Each oView In Views
WithReadOnlyOptions(oView)
Next
Return Me
End Function
''' <summary>
''' Applies read-only properties to the supplied GridView
''' </summary>
Public Function WithReadOnlyOptions(GridView As GridView) As GridBuilder
GridView.OptionsBehavior.Editable = False
GridView.OptionsBehavior.ReadOnly = True
Return Me
End Function
End Class