Articles in this section
Category / Section

How can we access CellSet before sending it to the OlapGrid?

1 min read

You can access the CellSet before sending it to the OlapGrid through the CellSetChanged event of the OlapDataManager class. The CellSet that you access through the CellSetChanged event is Syncfusion’s CellSet not Microsoft’s.

 

C#

public MainWindow()
        {
            try
            {
                InitializeComponent();
                this.olapgrid.OlapDataManager = new Syncfusion.Olap.Manager.OlapDataManager("Data Source=http://bi.syncfusion.com/olap/msmdpump.dll; Initial Catalog=Adventure Works DW 2008 SE;");
                this.olapgrid.OlapDataManager.SetCurrentReport(SampleReport());
                (this.olapgrid.OlapDataManager as OlapDataManager).CellSetChanged += MainWindow_CellSetChanged;
               }
            catch (Exception ex)
             {
                MessageBox.Show(ex.Message, "Data will not be loaded properly");
             }
        }
void MainWindow_CellSetChanged(object sender, CellSetChangedEventArgs e)
        {
            Syncfusion.Olap.Data.CellSet cellset = e.NewCellSet;
        }
private OlapReport SampleReport()
        {
            OlapReport olapReport = new OlapReport();
            olapReport.CurrentCubeName = "Adventure Works";
            DimensionElement dimensionElementColumn = new DimensionElement();
            dimensionElementColumn.Name = "Customer";
            dimensionElementColumn.HierarchyName = "Customer Geography";
            dimensionElementColumn.AddLevel("Customer Geography", "Country");
            MeasureElements measureElementColumn = new MeasureElements();
            measureElementColumn.Elements.Add(new MeasureElement { Name = "Internet Sales Amount" });
            DimensionElement dimensionElementRow = new DimensionElement();
            dimensionElementRow.Name = "Date";
            dimensionElementRow.AddLevel("Fiscal", "Fiscal Year");
            olapReport.CategoricalElements.Add(new Item { ElementValue = dimensionElementColumn });
            olapReport.CategoricalElements.Add(new Item { ElementValue = measureElementColumn });
            olapReport.SeriesElements.Add(new Item { ElementValue = dimensionElementRow });
            return olapReport;
        }

 

VB

Public Sub New()
                Try
                                InitializeComponent()
                                Me.olapgrid.OlapDataManager = New Syncfusion.Olap.Manager.OlapDataManager("Data Source=http://bi.syncfusion.com/olap/msmdpump.dll; Initial Catalog=Adventure Works DW 2008 SE;")
                                Me.olapgrid.OlapDataManager.SetCurrentReport(SampleReport())
                                AddHandler TryCast(Me.olapgrid.OlapDataManager, OlapDataManager).CellSetChanged, AddressOf MainWindow_CellSetChanged
                Catch ex As Exception
                                MessageBox.Show(ex.Message, "Data will not be loaded properly")
                End Try
End Sub
Private Sub MainWindow_CellSetChanged(ByVal sender As Object, ByVal e As CellSetChangedEventArgs)
                Dim cellset As Syncfusion.Olap.Data.CellSet = e.NewCellSet
End Sub
Private Function SampleReport() As OlapReport
                Dim olapReport As New OlapReport()
                olapReport.CurrentCubeName = "Adventure Works"
                Dim dimensionElementColumn As New DimensionElement()
                dimensionElementColumn.Name = "Customer"
                dimensionElementColumn.HierarchyName = "Customer Geography"
                dimensionElementColumn.AddLevel("Customer Geography", "Country")
                Dim measureElementColumn As New MeasureElements()
                measureElementColumn.Elements.Add(New MeasureElement With {.Name = "Internet Sales Amount"})
                Dim dimensionElementRow As New DimensionElement()
                dimensionElementRow.Name = "Date"
                dimensionElementRow.AddLevel("Fiscal", "Fiscal Year")
                olapReport.CategoricalElements.Add(New Item With {.ElementValue = dimensionElementColumn})
                olapReport.CategoricalElements.Add(New Item With {.ElementValue = measureElementColumn})
                olapReport.SeriesElements.Add(New Item With {.ElementValue = dimensionElementRow})
            Return olapReport
End Function

 

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please sign in to leave a comment
Access denied
Access denied