How to hide the dimension inside AxisElementBuilder?
You can hide the dimension inside AxisElementBuilder in OLAP Client control using PreRender event. You can refer to the following code example.
C#
protected void Page_Load(object sender, EventArgs e)
{
this.OlapClient1.PreRender += OlapClient1_PreRender;
}
void OlapClient1_PreRender(object sender, EventArgs e)
{
if (this.OlapClient1.AxisElementBuilderSlicer.Controls.Count > 0 && this.OlapClient1.AxisElementBuilderSlicer.Controls[0].Controls.Count > 0 && this.OlapClient1.AxisElementBuilderSlicer.Controls[0].Controls[0] is Label)
{
for (var i = 0; i < this.OlapClient1.AxisElementBuilderSlicer.Controls.Count; i++)
{
if (!(OlapClient1.AxisElementBuilderSlicer.Controls[i] is SplitButton)) continue;
if (((Label)OlapClient1.AxisElementBuilderSlicer.Controls[i].Controls[0]).Text == "Date")
{
OlapClient1.AxisElementBuilderSlicer.Controls[i].Visible = false;
}
}
}
}
VB
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) AddHandler Me.OlapClient1.PreRender, AddressOf OlapClient1_PreRender End Sub Private Sub OlapClient1_PreRender(ByVal sender As Object, ByVal e As EventArgs) If Me.OlapClient1.AxisElementBuilderSlicer.Controls.Count > 0 AndAlso Me.OlapClient1.AxisElementBuilderSlicer.Controls(0).Controls.Count > 0 AndAlso TypeOf Me.OlapClient1.AxisElementBuilderSlicer.Controls(0).Controls(0) Is Label Then For i = 0 To Me.OlapClient1.AxisElementBuilderSlicer.Controls.Count - 1 If Not(TypeOf OlapClient1.AxisElementBuilderSlicer.Controls(i) Is SplitButton) Then Continue For End If If (CType(OlapClient1.AxisElementBuilderSlicer.Controls(i).Controls(0), Label)).Text = "Date" Then OlapClient1.AxisElementBuilderSlicer.Controls(i).Visible = False End If Next i End If End Sub