Files
egtbeamwall/EgtBEAMWALL.ViewerOptimizer/Statistics/StatisticsUtility.vb
T
Emmanuele Sassi ed68b0da5c Correzioni e migliorie statistiche
Aggiunto bottone per copiare dati in statistiche
2021-07-07 18:57:00 +02:00

60 lines
2.9 KiB
VB.net

Public Module StatisticsUtility
Public Sub ExportToExcelAndCsv(dgDataGrid As DataGrid, StatisticsVM As StatisticsVM)
' imposto gli header
For Each DataGridColumn In dgDataGrid.Columns
If IsNothing(DataGridColumn) OrElse IsNothing(DataGridColumn.HeaderTemplate) Then Continue For
' recupero il contenuto del HeaderTemplate
Dim DataGridColumnHeaderFE As FrameworkElement = DataGridColumn.HeaderTemplate.LoadContent()
' recupero la stringa di binding
Dim DataGridColumnHeaderBindingText = DataGridColumnHeaderFE.GetBindingExpression(TextBlock.TextProperty).ParentBinding.Path.Path()
' applico la stessa proprieta' del binding
Select Case DataGridColumnHeaderBindingText
Case "DataContext.PDN_Msg"
DataGridColumn.Header = StatisticsVM.PDN_Msg
Case "DataContext.ID_Msg"
DataGridColumn.Header = StatisticsVM.ID_Msg
Case "DataContext.W_Msg"
DataGridColumn.Header = StatisticsVM.W_Msg
Case "DataContext.H_Msg"
DataGridColumn.Header = StatisticsVM.H_Msg
Case "DataContext.L_Msg"
DataGridColumn.Header = StatisticsVM.L_Msg
Case "DataContext.NAM_Msg"
DataGridColumn.Header = StatisticsVM.NAM_Msg
Case "DataContext.MAT_Msg"
DataGridColumn.Header = StatisticsVM.MAT_Msg
Case "DataContext.CNT_Msg"
DataGridColumn.Header = StatisticsVM.CNT_Msg
Case "DataContext.ADDED_Msg"
DataGridColumn.Header = StatisticsVM.ADDED_Msg
Case "DataContext.INPROD_Msg"
DataGridColumn.Header = StatisticsVM.INPROD_Msg
Case "DataContext.DONE_Msg"
DataGridColumn.Header = StatisticsVM.DONE_Msg
Case "DataContext.Used_Msg"
DataGridColumn.Header = StatisticsVM.Used_Msg
Case "DataContext.Waste_Msg"
DataGridColumn.Header = StatisticsVM.Waste_Msg
Case "DataContext.UNIT_VOLUME_Msg"
DataGridColumn.Header = StatisticsVM.UNIT_VOLUME_Msg
Case "DataContext.TOT_VOLUME_Msg"
DataGridColumn.Header = StatisticsVM.TOT_VOLUME_Msg
Case "DataContext.UNIT_TIME_Msg"
DataGridColumn.Header = StatisticsVM.UNIT_TIME_Msg
Case "DataContext.TOT_TIME_Msg"
DataGridColumn.Header = StatisticsVM.TOT_TIME_Msg
End Select
Next
dgDataGrid.SelectAllCells()
dgDataGrid.ClipboardCopyMode = DataGridClipboardCopyMode.IncludeHeader
Try
ApplicationCommands.Copy.Execute(Nothing, dgDataGrid)
Catch ex As Exception
Map.refMyStatusBarVM.SetOutputMessage("Copy to clipboard impossible", 3, EgtWPFLib5.MSG_TYPE.INFO)
End Try
Map.refMyStatusBarVM.SetOutputMessage("Copied to clipboard", 3, EgtWPFLib5.MSG_TYPE.INFO)
dgDataGrid.UnselectAllCells()
End Sub
End Module