public bool ComputeDeepHidden(Microsoft.ReportingServices.OnDemandReportRendering.RenderingContext renderingContext, ToggleCascadeDirection direction) { if (!CanUseCachedVisibilityData(m_hasCachedDeepHiddenValue)) { bool hidden = ComputeHidden(renderingContext, direction); if (!m_hasCachedDeepHiddenValue) { m_hasCachedDeepHiddenValue = true; m_cachedDeepHiddenValue = Visibility.ComputeDeepHidden(hidden, this, direction, renderingContext); } } return(m_cachedDeepHiddenValue); }
internal static bool ComputeDeepHidden(bool hidden, IVisibilityOwner visibilityOwner, ToggleCascadeDirection direction, Microsoft.ReportingServices.OnDemandReportRendering.RenderingContext renderingContext) { Visibility visibility = visibilityOwner.Visibility; if (hidden && (visibility == null || !visibility.IsToggleReceiver)) { hidden = false; } if (!hidden && visibility != null && visibility.IsToggleReceiver) { hidden = ((!visibility.RecursiveReceiver || !(visibilityOwner is TablixMember)) ? (hidden | visibility.ToggleSender.ComputeDeepHidden(renderingContext, direction)) : (hidden | ((TablixMember)visibilityOwner).ComputeToggleSenderDeepHidden(renderingContext))); } if (!hidden && (visibility == null || !visibility.RecursiveReceiver) && visibilityOwner.ContainingDynamicVisibility != null) { hidden |= visibilityOwner.ContainingDynamicVisibility.ComputeDeepHidden(renderingContext, direction); } if (!hidden && direction != ToggleCascadeDirection.Column && visibilityOwner.ContainingDynamicRowVisibility != null) { hidden |= visibilityOwner.ContainingDynamicRowVisibility.ComputeDeepHidden(renderingContext, direction); } if (!hidden && direction != ToggleCascadeDirection.Row && visibilityOwner.ContainingDynamicColumnVisibility != null) { hidden |= visibilityOwner.ContainingDynamicColumnVisibility.ComputeDeepHidden(renderingContext, direction); } return(hidden); }
public bool ComputeHidden(Microsoft.ReportingServices.OnDemandReportRendering.RenderingContext renderingContext, ToggleCascadeDirection direction) { if (!CanUseCachedVisibilityData(m_hasCachedHiddenValue)) { UpdateVisibilityDataCacheFlag(ref m_hasCachedHiddenValue); m_cachedHiddenValue = Visibility.ComputeHidden(this, renderingContext, direction, out bool valueIsDeep); if (valueIsDeep) { m_hasCachedDeepHiddenValue = true; m_cachedDeepHiddenValue = m_cachedHiddenValue; } } return(m_cachedHiddenValue); }
internal static bool ComputeHidden(IVisibilityOwner visibilityOwner, Microsoft.ReportingServices.OnDemandReportRendering.RenderingContext renderingContext, ToggleCascadeDirection direction, out bool valueIsDeep) { valueIsDeep = false; bool flag = false; Visibility visibility = visibilityOwner.Visibility; if (visibility != null) { switch (GetSharedHidden(visibility)) { case SharedHiddenState.Always: flag = true; break; case SharedHiddenState.Never: flag = false; break; case SharedHiddenState.Sometimes: flag = visibilityOwner.ComputeStartHidden(renderingContext); if (visibility.IsToggleReceiver) { TextBox toggleSender = visibility.ToggleSender; Global.Tracer.Assert(toggleSender != null, "Missing Persisted Toggle Receiver -> Sender Link"); string senderUniqueName = visibilityOwner.SenderUniqueName; if (senderUniqueName != null && renderingContext.IsSenderToggled(senderUniqueName)) { flag = !flag; } if (!flag) { flag = ComputeDeepHidden(flag, visibilityOwner, direction, renderingContext); } valueIsDeep = true; } break; default: Global.Tracer.Assert(condition: false); break; } } return(flag); }