private void OlapDataSource_Click(object sender, RoutedEventArgs args)
 {
     if (IsConnectedToInternet())
     {
         RootLayout.Children.RemoveAt(0);
         pivotClient = new SfPivotClient {
             Margin = new Thickness(5)
         };
         pivotClient.Loaded += PivotClient_Loaded;
         chk_AllowMultiFunctionalSortFilter.Visibility = Visibility.Collapsed;
         busyIndicator.IsBusy = true;
         Task.Run(async() =>
         {
             var dispatcher           = CoreApplication.MainView.CoreWindow.Dispatcher;
             var taskCompletionSource = new TaskCompletionSource <bool>();
             await dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
             {
                 pivotClient.OlapDataManager = viewModel.OlapDataManager;
                 RootLayout.Children.Insert(0, pivotClient);
                 pivotClient.Loaded += (s, e) =>
                 {
                     if (pivotClient.PivotGrid != null)
                     {
                         pivotClient.PivotGrid.Layout = (ShowGrandTotal.IsChecked.HasValue && (bool)ShowGrandTotal.IsChecked) ? Syncfusion.Olap.UWP.Engine.GridLayout.Normal : Syncfusion.Olap.UWP.Engine.GridLayout.NoSummaries;
                         pivotClient.PivotGrid.ShowValueCellToolTip           = (bool)ShowValueCellToolTip.IsChecked;
                         pivotClient.PivotGrid.ValueCellStyle.IsHyperlinkCell = (bool)ShowHyperlink.IsChecked;
                         pivotClient.PivotGrid.FreezeHeaders = (bool)FreezeHeaders.IsChecked;
                     }
                     if (pivotClient.PivotChart != null && pivotClient.PivotChart.Legend != null)
                     {
                         if (ShowLegend.IsChecked.HasValue && (bool)ShowLegend.IsChecked)
                         {
                             pivotClient.PivotChart.Legend.Visibility = Visibility.Visible;
                         }
                         else
                         {
                             pivotClient.PivotChart.Legend.Visibility = Visibility.Collapsed;
                         }
                     }
                 };
                 taskCompletionSource.SetResult(true);
                 busyIndicator.IsBusy = false;
             });
             await taskCompletionSource.Task;
         });
     }
 }
Пример #2
0
        private void RelationalDataSource_Click(object sender, RoutedEventArgs args)
        {
            RootLayout.Children.RemoveAt(0);
            pivotClient = new SfPivotClient();
            pivotClient.FlowDirection         = FlowDirection.RightToLeft;
            pivotClient.PagerButtonVisibility = Visibility.Collapsed;
            busyIndicator.IsBusy = true;
            Task.Run(async() =>
            {
                var dispatcher           = CoreApplication.MainView.CoreWindow.Dispatcher;
                var taskCompletionSource = new TaskCompletionSource <bool>();
                await dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
                {
                    pivotClient.ItemsSource = viewModel.ProductSalesData;

                    // Adding rows to SfPivotGrid
                    pivotClient.PivotRows.Add(new Syncfusion.PivotAnalysis.UWP.PivotItem()
                    {
                        FieldMappingName = "Product", TotalHeader = "Total"
                    });
                    pivotClient.PivotRows.Add(new Syncfusion.PivotAnalysis.UWP.PivotItem()
                    {
                        FieldMappingName = "Date", TotalHeader = "Total"
                    });

                    // Adding columns to SfPivotGrid
                    pivotClient.PivotColumns.Add(new Syncfusion.PivotAnalysis.UWP.PivotItem()
                    {
                        FieldMappingName = "Country", TotalHeader = "Total"
                    });

                    // Adding calculations to SfPivotGrid
                    pivotClient.PivotCalculations.Add(new PivotComputationInfo()
                    {
                        FieldHeader = "Amount", FieldName = "Amount", Format = "C", SummaryType = Syncfusion.PivotAnalysis.UWP.SummaryType.DoubleTotalSum
                    });
                    pivotClient.PivotCalculations.Add(new PivotComputationInfo()
                    {
                        FieldHeader = "Quantity", FieldName = "Quantity", Format = "#.##", SummaryType = Syncfusion.PivotAnalysis.UWP.SummaryType.Count
                    });
                    RootLayout.Children.Insert(0, pivotClient);
                    taskCompletionSource.SetResult(true);
                    busyIndicator.IsBusy = false;
                });
                await taskCompletionSource.Task;
            });
        }
        public sealed override void Dispose()
        {
            ShowGrandTotal.Click   -= ShowGrandTotal_Click;
            ShowLevelTypeAll.Click -= ShowLevelTypeAll_Click;
            if (rdBtn_Olap != null)
            {
                this.rdBtn_Olap.Click -= OlapDataSource_Click;
            }
            rdBtn_Olap = null;
            if (rdBtn_Relational != null)
            {
                this.rdBtn_Relational.Click -= RelationalDataSource_Click;
            }
            rdBtn_Relational = null;
            allowMultiFunctionalSortFilterBinding = null;
            showValueCellToolTipBinding           = null;
            showHyperlinkBinding = null;
            freezeHeadersBinding = null;
            showLegendBinding    = null;

            if (PivotClient1 != null)
            {
                PivotClient1.Dispose();
            }
            PivotClient1 = null;

            if (pivotClient != null)
            {
                pivotClient.Loaded -= PivotClient_Loaded;
                pivotClient.Dispose();
            }
            pivotClient = null;

            if (viewModel != null)
            {
                viewModel.Dispose();
            }

            base.Dispose();
        }
Пример #4
0
 private void OlapDataSource_Click(object sender, RoutedEventArgs args)
 {
     RootLayout.Children.RemoveAt(0);
     pivotClient = new SfPivotClient();
     pivotClient.FlowDirection         = FlowDirection.RightToLeft;
     pivotClient.PagerButtonVisibility = Visibility.Collapsed;
     busyIndicator.IsBusy = true;
     Task.Run(async() =>
     {
         var dispatcher           = CoreApplication.MainView.CoreWindow.Dispatcher;
         var taskCompletionSource = new TaskCompletionSource <bool>();
         await dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
         {
             pivotClient.OlapDataManager         = viewModel.OlapDataManager;
             pivotClient.EnableCalculatedMembers = true;
             pivotClient.EnableVirtualKpi        = true;
             RootLayout.Children.Insert(0, pivotClient);
             taskCompletionSource.SetResult(true);
             busyIndicator.IsBusy = false;
         });
         await taskCompletionSource.Task;
     });
 }
Пример #5
0
        public override void Dispose()
        {
            if (Application.Current != null)
            {
                Application.Current.Suspending -= Current_Suspending;
            }

            if (rdBtn_Olap != null)
            {
                this.rdBtn_Olap.Click -= OlapDataSource_Click;
            }
            rdBtn_Olap = null;
            if (rdBtn_Relational != null)
            {
                this.rdBtn_Relational.Click -= RelationalDataSource_Click;
            }
            rdBtn_Relational = null;

            if (this.PivotClient1 != null)
            {
                this.PivotClient1.Dispose();
            }
            this.PivotClient1 = null;

            if (this.pivotClient != null)
            {
                this.pivotClient.Dispose();
            }
            this.pivotClient = null;

            if (viewModel != null)
            {
                viewModel.Dispose();
            }

            base.Dispose();
        }
Пример #6
0
 private void OlapDataSource_Click(object sender, RoutedEventArgs e)
 {
     RootLayout.Children.RemoveAt(0);
     pivotClient = new SfPivotClient {
         Margin = new Thickness(5)
     };
     pivotClient.SetBinding(SfPivotClient.DisplayModeProperty, displayModeBinding);
     pivotClient.SetBinding(SfPivotClient.ToolBarVisibilityProperty, clientToolbarBinding);
     pivotClient.SetBinding(SfPivotClient.GridToolBarVisibilityProperty, gridToolbarBinding);
     pivotClient.SetBinding(SfPivotClient.ChartToolBarVisibilityProperty, chartToolbarBinding);
     pivotClient.SetBinding(SfPivotClient.TogglePivotButtonVisibilityProperty, showTogglePivotButtonBinding);
     pivotClient.SetBinding(SfPivotClient.ExpanderButtonVisibilityProperty, showExpanderButtonBinding);
     pivotClient.SetBinding(SfPivotClient.MDXQueryButtonVisibilityProperty, showMDXButtonBinding);
     pivotClient.SetBinding(SfPivotClient.ReportListVisibilityProperty, showReportListBinding);
     pivotClient.SetBinding(SfPivotClient.ReportMenuButtonVisibilityProperty, showReportMenuBinding);
     pivotClient.SetBinding(SfPivotClient.CubeDimensionBrowserVisibilityProperty, showCubeDimensionBrowserBinding);
     pivotClient.SetBinding(SfPivotClient.SearchBoxVisibilityProperty, showSearchBoxBinding);
     pivotClient.SetBinding(SfPivotClient.ColumnAxisElementBuilderVisibilityProperty, showColumnAxisBinding);
     pivotClient.SetBinding(SfPivotClient.RowAxisElementBuilderVisibilityProperty, showRowAxisBinding);
     pivotClient.SetBinding(SfPivotClient.SlicerAxisElementBuilderVisibilityProperty, showSlicerAxisBinding);
     pivotClient.SetBinding(SfPivotClient.ValueAxisElementBuilderVisibilityProperty, showValueAxisBinding);
     busyIndicator.IsBusy = true;
     Task.Run(async() =>
     {
         var dispatcher           = CoreApplication.MainView.CoreWindow.Dispatcher;
         var taskCompletionSource = new TaskCompletionSource <bool>();
         await dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
         {
             pivotClient.OlapDataManager = viewModel.OlapDataManager;
             RootLayout.Children.Insert(0, pivotClient);
             taskCompletionSource.SetResult(true);
             busyIndicator.IsBusy = false;
         });
         await taskCompletionSource.Task;
     });
 }
Пример #7
0
        private void RelationalDataSource_Click(object sender, RoutedEventArgs e)
        {
            RootLayout.Children.RemoveAt(0);
            pivotClient = new SfPivotClient {
                Margin = new Thickness(5)
            };
            pivotClient.SetBinding(SfPivotClient.DisplayModeProperty, displayModeBinding);
            pivotClient.SetBinding(SfPivotClient.ToolBarVisibilityProperty, clientToolbarBinding);
            pivotClient.SetBinding(SfPivotClient.GridToolBarVisibilityProperty, gridToolbarBinding);
            pivotClient.SetBinding(SfPivotClient.ChartToolBarVisibilityProperty, chartToolbarBinding);
            pivotClient.SetBinding(SfPivotClient.TogglePivotButtonVisibilityProperty, showTogglePivotButtonBinding);
            pivotClient.SetBinding(SfPivotClient.ExpanderButtonVisibilityProperty, showExpanderButtonBinding);
            pivotClient.SetBinding(SfPivotClient.MDXQueryButtonVisibilityProperty, showMDXButtonBinding);
            pivotClient.SetBinding(SfPivotClient.ReportListVisibilityProperty, showReportListBinding);
            pivotClient.SetBinding(SfPivotClient.ReportMenuButtonVisibilityProperty, showReportMenuBinding);
            pivotClient.SetBinding(SfPivotClient.CubeDimensionBrowserVisibilityProperty, showCubeDimensionBrowserBinding);
            pivotClient.SetBinding(SfPivotClient.SearchBoxVisibilityProperty, showSearchBoxBinding);
            pivotClient.SetBinding(SfPivotClient.ColumnAxisElementBuilderVisibilityProperty, showColumnAxisBinding);
            pivotClient.SetBinding(SfPivotClient.RowAxisElementBuilderVisibilityProperty, showRowAxisBinding);
            pivotClient.SetBinding(SfPivotClient.SlicerAxisElementBuilderVisibilityProperty, showSlicerAxisBinding);
            pivotClient1.SetBinding(SfPivotClient.ValueAxisElementBuilderVisibilityProperty, showValueAxisBinding);
            busyIndicator.IsBusy = true;
            Task.Run(async() =>
            {
                var dispatcher           = CoreApplication.MainView.CoreWindow.Dispatcher;
                var taskCompletionSource = new TaskCompletionSource <bool>();
                await dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
                {
                    pivotClient.ItemsSource = viewModel.ProductSalesData;

                    // Adding rows to SfPivotGrid
                    pivotClient.PivotRows.Add(new Syncfusion.PivotAnalysis.UWP.PivotItem()
                    {
                        FieldMappingName = "Product", TotalHeader = "Total"
                    });
                    pivotClient.PivotRows.Add(new Syncfusion.PivotAnalysis.UWP.PivotItem()
                    {
                        FieldMappingName = "Date", TotalHeader = "Total"
                    });

                    // Adding columns to SfPivotGrid
                    pivotClient.PivotColumns.Add(new Syncfusion.PivotAnalysis.UWP.PivotItem()
                    {
                        FieldMappingName = "Country", TotalHeader = "Total"
                    });

                    // Adding calculations to SfPivotGrid
                    pivotClient.PivotCalculations.Add(new PivotComputationInfo()
                    {
                        FieldHeader = "Amount", FieldName = "Amount", Format = "C", SummaryType = SummaryType.DoubleTotalSum
                    });
                    pivotClient.PivotCalculations.Add(new PivotComputationInfo()
                    {
                        FieldHeader = "Quantity", FieldName = "Quantity", Format = "#.##", SummaryType = SummaryType.Count
                    });

                    RootLayout.Children.Insert(0, pivotClient);
                    taskCompletionSource.SetResult(true);
                    busyIndicator.IsBusy = false;
                });
                await taskCompletionSource.Task;
            });
        }
Пример #8
0
        public sealed override void Dispose()
        {
            if (pivotClient1 != null)
            {
                pivotClient1.Dispose();
            }
            pivotClient1 = null;

            if (pivotClient != null)
            {
                pivotClient.Dispose();
            }
            pivotClient = null;

            clientToolbarBinding            = null;
            gridToolbarBinding              = null;
            chartToolbarBinding             = null;
            showTogglePivotButtonBinding    = null;
            showMDXButtonBinding            = null;
            showExpanderButtonBinding       = null;
            showReportListBinding           = null;
            showReportMenuBinding           = null;
            showCubeDimensionBrowserBinding = null;
            showSearchBoxBinding            = null;
            showSlicerAxisBinding           = null;
            showColumnAxisBinding           = null;
            showRowAxisBinding              = null;
            showValueAxisBinding            = null;
            displayModeBinding              = null;

            if (rdBtn_Olap != null)
            {
                this.rdBtn_Olap.Click -= OlapDataSource_Click;
            }
            rdBtn_Olap = null;
            if (rdBtn_Relational != null)
            {
                this.rdBtn_Relational.Click -= RelationalDataSource_Click;
            }
            rdBtn_Relational = null;

            if (viewModel != null)
            {
                viewModel.Dispose();
            }
            viewModel = null;

            if (olapDataManager != null)
            {
                olapDataManager.OlapDataChanged           -= OlapDataManager_OlapDataChanged;
                olapDataManager.GetCubeSchema             -= OlapDataManager_GetCubeSchema;
                olapDataManager.GetCubeInfoCollection     -= OlapDataManager_GetCubeInfoCollection;
                olapDataManager.GetChildMembers           -= OlapDataManager_GetChildMembers;
                olapDataManager.GetChildrenByMDX          -= OlapDataManager_GetChildrenByMDX;
                olapDataManager.GetOlapDataWithTotalCount -= OlapDataManager_GetOlapDataWithTotalCount;
                olapDataManager.GetLevelMembersUsingMdx   -= OlapDataManager_GetLevelMembersUsingMdx;
                olapDataManager.Dispose();
            }
            olapDataManager = null;

            clientChannel = null;

            base.Dispose();
        }
        private void RelationalDataSource_Click(object sender, RoutedEventArgs args)
        {
            RootLayout.Children.RemoveAt(0);
            pivotClient = new SfPivotClient {
                Margin = new Thickness(5)
            };
            pivotClient.Loaded += PivotClient_Loaded;

            chk_AllowMultiFunctionalSortFilter.Visibility = Visibility.Visible;
            busyIndicator.IsBusy = true;
            Task.Run(async() =>
            {
                var dispatcher           = CoreApplication.MainView.CoreWindow.Dispatcher;
                var taskCompletionSource = new TaskCompletionSource <bool>();
                await dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
                {
                    pivotClient.ItemsSource = viewModel.ProductSalesData;

                    // Adding rows to SfPivotGrid
                    pivotClient.PivotRows.Add(new Syncfusion.PivotAnalysis.UWP.PivotItem()
                    {
                        FieldMappingName = "Product", TotalHeader = "Total"
                    });
                    pivotClient.PivotRows.Add(new Syncfusion.PivotAnalysis.UWP.PivotItem()
                    {
                        FieldMappingName = "Date", TotalHeader = "Total"
                    });

                    // Adding columns to SfPivotGrid
                    pivotClient.PivotColumns.Add(new Syncfusion.PivotAnalysis.UWP.PivotItem()
                    {
                        FieldMappingName = "Country", TotalHeader = "Total"
                    });

                    // Adding calculations to SfPivotGrid
                    pivotClient.PivotCalculations.Add(new PivotComputationInfo()
                    {
                        FieldHeader = "Amount", FieldName = "Amount", Format = "C", SummaryType = Syncfusion.PivotAnalysis.UWP.SummaryType.DoubleTotalSum
                    });
                    pivotClient.PivotCalculations.Add(new PivotComputationInfo()
                    {
                        FieldHeader = "Quantity", FieldName = "Quantity", Format = "#.##", SummaryType = Syncfusion.PivotAnalysis.UWP.SummaryType.Count
                    });

                    RootLayout.Children.Insert(0, pivotClient);
                    pivotClient.Loaded += (s, e) =>
                    {
                        if (pivotClient.PivotGrid != null)
                        {
                            if (pivotClient.PivotGrid.PivotEngine != null)
                            {
                                pivotClient.PivotGrid.PivotEngine.ShowGrandTotals = (bool)ShowGrandTotal.IsChecked;
                                pivotClient.PivotGrid.Refresh();
                            }
                            pivotClient.PivotGrid.ShowValueCellToolTip           = (bool)ShowValueCellToolTip.IsChecked;
                            pivotClient.PivotGrid.ValueCellStyle.IsHyperlinkCell = (bool)ShowHyperlink.IsChecked;
                            pivotClient.PivotGrid.FreezeHeaders = (bool)FreezeHeaders.IsChecked;
                        }
                        if (pivotClient.PivotChart != null && pivotClient.PivotChart.Legend != null)
                        {
                            if (ShowLegend.IsChecked.HasValue && (bool)ShowLegend.IsChecked)
                            {
                                pivotClient.PivotChart.Legend.Visibility = Visibility.Visible;
                            }
                            else
                            {
                                pivotClient.PivotChart.Legend.Visibility = Visibility.Collapsed;
                            }
                        }
                    };
                    taskCompletionSource.SetResult(true);
                    busyIndicator.IsBusy = false;
                });
                await taskCompletionSource.Task;
            });
        }