From 7173c89b772d8897bf7d0bf4bb1b64ad7ced14f5 Mon Sep 17 00:00:00 2001 From: pitzm Date: Fri, 6 Mar 2026 11:17:06 +0100 Subject: [PATCH] =?UTF-8?q?GUIs.Common:=20Formatierbare=20Datumsspalten-Fu?= =?UTF-8?q?nktionen=20erg=C3=A4nzt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- GUIs.Common/GridBuilder.vb | 54 +++++++++++++++++++++++++++++++++----- 1 file changed, 48 insertions(+), 6 deletions(-) diff --git a/GUIs.Common/GridBuilder.vb b/GUIs.Common/GridBuilder.vb index 3ab51893..9a0226f6 100644 --- a/GUIs.Common/GridBuilder.vb +++ b/GUIs.Common/GridBuilder.vb @@ -82,7 +82,7 @@ Public Class GridBuilder ToList() For Each oDateCol In oDateColumns - SetDateTimeColumn(oDateCol) + SetDateTimeColumn(oDateCol, "g") Next End Sub @@ -96,19 +96,61 @@ Public Class GridBuilder ToList() For Each oDateCol In oDateColumns - SetDateTimeColumn(oDateCol) + SetDateTimeColumn(oDateCol, "g") Next End Sub - Private Sub SetDateTimeColumn(pColumn As GridColumn) + ''' + ''' Applies a proper datetime format string to all columns of the view. + ''' + ''' The view's columns need to be loaded for this to work! + Public Sub SetDateTimeColumns(pView As GridView, pFormatString As String) + If pView.Columns Is Nothing Then + Exit Sub + End If + + Dim oDateColumns = pView.Columns.AsEnumerable. + Where(Function(column As GridColumn) column.ColumnType = GetType(Date)). + ToList() + + For Each oDateCol In oDateColumns + SetDateTimeColumn(oDateCol, pFormatString) + Next + End Sub + + Public Sub SetDateTimeColumns(pTreeList As TreeList, pFormatString As String) + If pTreeList.Columns Is Nothing Then + Exit Sub + End If + + Dim oDateColumns = pTreeList.Columns.AsEnumerable. + Where(Function(column As TreeListColumn) column.ColumnType = GetType(Date)). + ToList() + + For Each oDateCol In oDateColumns + SetDateTimeColumn(oDateCol, pFormatString) + Next + End Sub + + Private Sub SetDateTimeColumn(pColumn As GridColumn, pFormatString As String) + + If String.IsNullOrEmpty(pFormatString) Then + pFormatString = "g" + End If + pColumn.DisplayFormat.FormatType = FormatType.Custom - pColumn.DisplayFormat.FormatString = "g" + pColumn.DisplayFormat.FormatString = pFormatString pColumn.DisplayFormat.Format = DateTimeFormatInfo.CurrentInfo End Sub - Private Sub SetDateTimeColumn(pColumn As TreeListColumn) + Private Sub SetDateTimeColumn(pColumn As TreeListColumn, pFormatString As String) + + If String.IsNullOrEmpty(pFormatString) Then + pFormatString = "g" + End If + pColumn.Format.FormatType = FormatType.Custom - pColumn.Format.FormatString = "g" + pColumn.Format.FormatString = pFormatString pColumn.Format.Format = DateTimeFormatInfo.CurrentInfo End Sub