108 lines
5.0 KiB
VB.net
108 lines
5.0 KiB
VB.net
Imports System.Collections.ObjectModel
|
|
Imports EgtUILib
|
|
Imports EgtWPFLib5
|
|
|
|
Friend Module DataGridColumnsIniFile
|
|
|
|
Public m_sDataGridColumnsIniFile As String
|
|
|
|
' funzione per ottenere dal file INI le colonne da caricare nelle EgtDataGrid del programma
|
|
Public Function GetPrivateProfileColumns(ParentDGName As String, ByRef ocColumns As ObservableCollection(Of EgtDataGridColumn)) As Boolean
|
|
Dim colIndex As Integer = 0
|
|
Dim str = String.Empty
|
|
While EgtUILib.GetPrivateProfileString(ParentDGName, colIndex, String.Empty, str, m_sDataGridColumnsIniFile) > 0
|
|
Dim sColumnParams() As String = str.Split(","c)
|
|
' verifico numero minimo di parametri
|
|
If sColumnParams.Count >= 9 Then
|
|
' cancello spazi
|
|
For index = 0 To sColumnParams.Count - 1
|
|
sColumnParams(index) = sColumnParams(index).Trim()
|
|
Next
|
|
' creo colonna
|
|
Dim sName = sColumnParams(0)
|
|
Dim bReorder As Boolean = sColumnParams(1).Equals("1")
|
|
Dim bResize As Boolean = sColumnParams(2).Equals("1")
|
|
Dim bSort As Boolean = sColumnParams(3).Equals("1")
|
|
Dim bIsReadOnly As Boolean = sColumnParams(4).Equals("1")
|
|
Dim Width As Double
|
|
Dim WidthType As DataGridLengthUnitType
|
|
StringToDouble(sColumnParams(5), Width)
|
|
Integer.TryParse(sColumnParams(6), WidthType)
|
|
Dim bVisible As Boolean = sColumnParams(7).Equals("1")
|
|
Dim bCanUserEditVisible As Boolean = sColumnParams(8).Equals("1")
|
|
If bVisible Then
|
|
ocColumns.Add(New EgtDataGridColumn(ParentDGName, sName, bReorder, bResize, bSort, bIsReadOnly, New DataGridLength(Width, WidthType), bVisible, bCanUserEditVisible))
|
|
Else
|
|
Exit While
|
|
End If
|
|
End If
|
|
colIndex += 1
|
|
End While
|
|
Return ocColumns.Count > 0
|
|
End Function
|
|
|
|
' funzione per ottenere dal file INI le colonne da caricare nella DataGrid usata per customizzare le proprietà delle colonne delle EgtDataGrid del programma
|
|
Public Function GetPrivateProfileColumns(ParentDGName As String, ByRef ocColumns As ObservableCollection(Of IniDataGridColumn)) As Boolean
|
|
Dim colIndex As Integer = 0
|
|
Dim str = String.Empty
|
|
While EgtUILib.GetPrivateProfileString(ParentDGName, colIndex, String.Empty, str, m_sDataGridColumnsIniFile) > 0
|
|
Dim sColumnParams() As String = str.Split(","c)
|
|
' verifico numero minimo di parametri
|
|
If sColumnParams.Count >= 9 Then
|
|
' cancello spazi
|
|
For index = 0 To sColumnParams.Count - 1
|
|
sColumnParams(index) = sColumnParams(index).Trim()
|
|
Next
|
|
' creo colonna
|
|
Dim sName = sColumnParams(0)
|
|
Dim bReorder As Boolean = sColumnParams(1).Equals("1")
|
|
Dim bResize As Boolean = sColumnParams(2).Equals("1")
|
|
Dim bSort As Boolean = sColumnParams(3).Equals("1")
|
|
Dim bIsReadOnly As Boolean = sColumnParams(4).Equals("1")
|
|
Dim Width As Double
|
|
Dim WidthType As DataGridLengthUnitType
|
|
StringToDouble(sColumnParams(5), Width)
|
|
Integer.TryParse(sColumnParams(6), WidthType)
|
|
Dim bVisible As Boolean = sColumnParams(7).Equals("1")
|
|
Dim bCanUserEditVisible As Boolean = sColumnParams(8).Equals("1")
|
|
ocColumns.Add(New IniDataGridColumn(ParentDGName, colIndex, sName, bReorder, bResize, bSort, bIsReadOnly, New DataGridLength(Width, WidthType), bVisible, bCanUserEditVisible))
|
|
End If
|
|
colIndex += 1
|
|
End While
|
|
Return ocColumns.Count > 0
|
|
End Function
|
|
|
|
' funzione che ottiene dal file INI la singola proprietà legata ad una specifica colonna
|
|
Public Function GetPrivateProfileColumnProperty(ParentDGName As String, ocColumns As ObservableCollection(Of IniDataGridColumn), DisplayIndex As Integer, PropertyIndex As EgtDGColumnProperty) As String
|
|
Dim str = String.Empty
|
|
If EgtUILib.GetPrivateProfileString(ParentDGName, DisplayIndex, String.Empty, str, m_sDataGridColumnsIniFile) > 0 Then
|
|
Dim sColumnParams() As String = str.Split(","c)
|
|
' verifico numero minimo di parametri
|
|
If sColumnParams.Count >= 9 Then
|
|
' cancello spazi
|
|
For index = 0 To sColumnParams.Count - 1
|
|
sColumnParams(index) = sColumnParams(index).Trim()
|
|
Next
|
|
If PropertyIndex > -1 AndAlso PropertyIndex < sColumnParams.Count Then Return sColumnParams(PropertyIndex)
|
|
End If
|
|
End If
|
|
Return ""
|
|
End Function
|
|
|
|
Public Function WriteColumnPrivateProfileParam(ParentDataGridName As String, DisplayIndex As String, sColumnParams As String) As Boolean
|
|
Return WritePrivateProfileString(ParentDataGridName, DisplayIndex, sColumnParams, m_sDataGridColumnsIniFile)
|
|
End Function
|
|
|
|
Public Enum EgtDGColumnProperty
|
|
NAME = 0
|
|
REORDER = 1
|
|
RESIZE = 2
|
|
SORT = 3
|
|
ISREADONLY = 4
|
|
WIDTH = 5
|
|
WIDTHTYPE = 6
|
|
VISIBLE = 7
|
|
EDITVISIBLE = 8
|
|
End Enum
|
|
|
|
End Module |