private int RenderSubtotal(Rdl.Render.Container box, Rdl.Runtime.Context context, bool hidden, TextBox tb, int column) { Rdl.Render.FixedContainer cell = null; if (!hidden && box != null) { cell = box.AddFixedContainer(this, Style, context); cell.Name = "DynamicColumnSubtotal"; //cell.Width = FindMatrix(this).ColumnWidth; cell.Height = Height.points; cell.MatchParentHeight = true; if (tb != null) { tb.LinkedToggles.Add(new Toggle(cell, tb, Enums.ToggleDirectionEnum.negative)); } // Render the details. MatrixElement m = RenderNext; while (m is ColumnGrouping) { m = ((ColumnGrouping)m).RenderNext; } m.Render(cell, context); } return(column + 1); }
private void RenderSubtotal(Rdl.Render.Container box, Rdl.Runtime.Context context, bool hidden, TextBox tb) { Rdl.Render.FlowContainer totalBox = box.AddFlowContainer(this, Style, context, Rdl.Render.FlowContainer.FlowDirectionEnum.LeftToRight); totalBox.Name = "RowTotal"; if (tb != null) { tb.LinkedToggles.Add(new Toggle(totalBox, tb, Enums.ToggleDirectionEnum.negative)); } Rdl.Render.FixedContainer totalHeader = totalBox.AddFixedContainer(this, Style, context); totalHeader.Name = "RowTotalHeader"; totalHeader.Width = TotalWidth; totalHeader.MatchParentHeight = true; //totalHeader.Height = FindMatrix(this).Rows.Height; totalHeader.CanGrowHorizonally = false; if (_subtotal != null) { _subtotal.ReportItems.Render(totalHeader, context); } // Render the details. MatrixElement m = RenderNext; while (m is RowGrouping) { m = ((RowGrouping)m).RenderNext; } if (m is ColumnGrouping) { ((ColumnGrouping)m).Render(totalBox, FindMatrix(this).Context, context, 0); } else { m.Render(totalBox, context); } }