Category / Section
How to rename the caption inside AxisElementBuilder
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