44 lines
1.4 KiB
VB.net
44 lines
1.4 KiB
VB.net
Imports DevExpress.XtraGrid.Columns
|
|
Imports DevExpress.XtraGrid.Views.Grid
|
|
Imports MultiTool.Shared.Documents
|
|
Imports MultiTool.Form.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 |