jj 25.04 CURRENCY $$$

This commit is contained in:
Digital Data
2017-04-25 16:47:40 +02:00
parent 29692430d8
commit 5a00b63de1
5 changed files with 114 additions and 36 deletions

View File

@@ -32,6 +32,7 @@ Public Class ClassGridFormatter
Public checkboxColumns As New List(Of String)
Public dateColumns As New List(Of String)
Public currencyColumns As New List(Of String)
Public Sub New(DT As DataTable, EntityId As Integer)
Me.EntityId = EntityId
@@ -115,8 +116,56 @@ Public Class ClassGridFormatter
End If
Next
currencyColumns = GetCurrencyColumns()
For Each columnName As String In currencyColumns
Dim column As GridColumn = gridView.Columns(columnName)
If Not IsNothing(column) Then
column.DisplayFormat.FormatType = FormatType.Numeric
column.DisplayFormat.FormatString = "C"
column.DisplayFormat.Format = New CurrencyFormatter()
End If
Next
End Sub
Class CurrencyFormatter
Implements IFormatProvider, ICustomFormatter
Public Function GetFormat(formatType As Type) As Object Implements IFormatProvider.GetFormat
Return Me
End Function
Public Function Format(formatString As String, arg As Object, formatProvider As IFormatProvider) As String Implements ICustomFormatter.Format
Dim formatValue As String = arg.ToString()
If (formatValue.Count > 0 And formatString.ToUpper() = "C") Then
Return ClassHelper.Format_Currency(formatValue, USER_LANGUAGE)
Else
Return formatValue
End If
End Function
End Class
Private Function GetCurrencyColumns() As List(Of String)
Try
Dim list As New List(Of String)
' Alle Currency Felder für aktuelle Ansicht heraussuchen
Dim sql As String = "SELECT COL_NAME FROM TBPMO_CONTROL WHERE CONTROL_TYPE_ID = 2 AND FORMAT_TYPE = 'Currency' AND SHOW_COLUMN = 1 AND FORM_ID = " & Me.EntityId
Dim dt As DataTable = ClassDatabase.Return_Datatable(sql, True)
For Each row As DataRow In dt.Rows
list.Add(row.Item("COL_NAME"))
Next
Return list
Catch ex As Exception
ClassLogger.Add("Unexpected Error in GetCurrencyColumns: " & ex.Message, True)
Return Nothing
End Try
End Function
Private Function GetCheckboxColumns()
Try
Dim listcheck As New List(Of String)