Category / Section
How to rename the caption inside AxisElementBuilder
1 min read
This can be achieved using the AxisElementChanged event in the OlapDataManager. The caption for each MetaTreeNode has been renamed using this event. Please refer the below code snippet.
C#
this.olapClient1.OlapDataManager.AxisElementChanged +=new AxisElementChangedEventHandler(OlapDataManager_AxisElementChanged); void OlapDataManager_AxisElementChanged(object sender, AxisElementChangedEventArgs e) { RenameAll(); } private void RenameAll() { Rename(this.olapClient1.AxisElementBuilderRow.MetaTreeNodes); Rename(this.olapClient1.AxisElementBuilderColumn.MetaTreeNodes); Rename(this.olapClient1.AxisElementBuilderSlicer.MetaTreeNodes); } private void Rename( ObservableCollection<MetaTreeNode> MetaTreeNodes) { foreach (MetaTreeNode node in MetaTreeNodes) { var hierarchy = node.Properties.FindByName(PropertyConstants.Hierarchy); var dimension = node.Properties.FindByName(PropertyConstants.Dimension); if (dimension != null && hierarchy != null) node.Caption = (dimension.Value as Dimension).Name + "." + (hierarchy.Value as Hierarchy).Name; } }
VB
Private Me.olapClient1.OlapDataManager.AxisElementChanged += New AxisElementChangedEventHandler(AddressOf OlapDataManager_AxisElementChanged) Private Sub OlapDataManager_AxisElementChanged(ByVal sender As Object, ByVal e As AxisElementChangedEventArgs) RenameAll() End Sub Private Sub RenameAll() Rename(Me.olapClient1.AxisElementBuilderRow.MetaTreeNodes) Rename(Me.olapClient1.AxisElementBuilderColumn.MetaTreeNodes) Rename(Me.olapClient1.AxisElementBuilderSlicer.MetaTreeNodes) End Sub Private Sub Rename(ByVal MetaTreeNodes As ObservableCollection(Of MetaTreeNode)) For Each node As MetaTreeNode In MetaTreeNodes Dim hierarchy = node.Properties.FindByName(PropertyConstants.Hierarchy) Dim dimension = node.Properties.FindByName(PropertyConstants.Dimension) If dimension IsNot Nothing AndAlso hierarchy IsNot Nothing Then node.Caption = (TryCast(dimension.Value, Dimension)).Name & "." & (TryCast(hierarchy.Value, Hierarchy)).Name End If Next node End Sub
Figure: OlapClient with renamed caption for “Date” in AxisElementBuilder