Exemple #1
0
        public double Render(object row, IRenderEngine engine, double XOffset, double YOffset, Style DefaultStyle, Dictionary <string, double> aggregatedValues)
        {
            Style  usedStyle   = Style ?? DefaultStyle;
            double yBottomUsed = YBottom != -1 ? YBottom : YTop + usedStyle.Font.SizeInPoints;

            engine.DrawString(Text, usedStyle, XOffset + XLeft, YOffset + YTop, XRight - XLeft, yBottomUsed - YTop, Alignment);

            return(0);
        }
Exemple #2
0
        public double Render(object row, IRenderEngine engine, double XOffset, double YOffset, Style DefaultStyle, Dictionary <string, double> aggregatedValues)
        {
            double growth = 0;

            string valueToRender;

            if (aggregatedValues != null && aggregatedValues.ContainsKey(FieldName))
            {
                valueToRender = aggregatedValues[FieldName].ToString(Mask).Trim();
            }
            else
            {
                if (Mask == null)
                {
                    valueToRender = getPropertyValue(row, FieldName).ToString().Trim(); //row.GetType().GetProperty(FieldName).GetValue(row).ToString().Trim();
                }
                else
                {
                    valueToRender = string.Format("{0:" + Mask + "}", getPropertyValue(row, FieldName)); // row.GetType().GetProperty(FieldName).GetValue(row));
                }
            }

            Style  usedStyle   = Style ?? DefaultStyle;
            double yBottomUsed = YBottom != -1 ? YBottom : YTop + usedStyle.Font.SizeInPoints;

            if (CanGrow)
            {
                Graphics g = Graphics.FromHwnd(IntPtr.Zero);
                SizeF    s = g.MeasureString(valueToRender, usedStyle.Font, Convert.ToInt32(XRight - XLeft));


                if (s.Height > (yBottomUsed - YTop))
                {
                    growth       = s.Height - (yBottomUsed - YTop);
                    yBottomUsed += growth;
                }
            }

            engine.DrawString(valueToRender, usedStyle, XOffset + XLeft, YOffset + YTop, XRight - XLeft, yBottomUsed - YTop, Alignment);

            return(growth);
        }