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); }
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); }