Jonathan Jenne 64a9ea2464 wip
2021-08-23 16:35:28 +02:00

44 lines
1.4 KiB
VB.net

Imports DevExpress.XtraGrid.Columns
Imports DevExpress.XtraGrid.Views.Grid
Imports ImporterShared.Documents
Imports ImporterForm.Positions
Namespace Positions
Public Class PositionGrid
Public Shared Sub LoadPositionViewAndColumns(pView As GridView, pDocumentType As DocumentType)
Dim oColumns As List(Of GridColumn)
' Create columns list depending on DocumentType
Select Case pDocumentType
Case DocumentType.Order
oColumns = PositionColumns.AllColumns
Case Else
oColumns = New List(Of GridColumn)
End Select
' Reset the grid
pView.GridControl.DataSource = Nothing
pView.GridControl.ForceInitialize()
' Add and adjust columns
pView.Columns.AddRange(oColumns.ToArray())
pView.BestFitColumns()
' Set columns readonly that need it
Dim oReadOnlyColumns = oColumns.
Except(PositionColumns.WritableColumns).
ToList()
For Each oColumn As GridColumn In pView.Columns
If oReadOnlyColumns.Contains(oColumn) Then
oColumn.OptionsColumn.ReadOnly = True
oColumn.OptionsColumn.AllowEdit = False
Else
oColumn.Caption &= " *"
End If
Next
End Sub
End Class
End Namespace