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);
        }
Exemple #2
0
        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);
            }
        }