Пример #1
0
        /// <summary>
        /// Convert a single item, Location is calculated as follows
        /// </summary>
        /// <param name="offset"> only Y value is used, gives the offset to Items location.Y </param>
        /// <param name="item">Item to convert</param>
        /// <returns></returns>


        private static void RenderLineItem(BaseReportItem item, Point offset, IExpressionEvaluatorFacade evaluator, ReportPageEventArgs rpea)
        {
            Point saveLocation = new Point(item.Location.X, item.Location.Y);

            PrintHelper.AdjustChildLocation(item, offset);

            IReportExpression epr = item as IReportExpression;

            string evaluatedValue = String.Empty;

            if (epr != null)
            {
                try {
                    if (!String.IsNullOrEmpty(epr.Expression))
                    {
                        evaluatedValue = evaluator.Evaluate(epr.Expression);
                    }
                    else
                    {
                        evaluatedValue = evaluator.Evaluate(epr.Text);
                    }
                    epr.Text = evaluatedValue;
                } catch (UnknownFunctionException ufe) {
                    epr.Text = GlobalValues.UnkownFunctionMessage(ufe.Message);
                }
            }
            item.Render(rpea);
            item.Location = saveLocation;
        }
		public void Evaluate (IReportExpression expressionItem)
		{
			if (expressionItem == null) {
				throw new ArgumentException("expressionItem");
			}
			string expr = String.Empty;
			if (!String.IsNullOrEmpty(expressionItem.Expression)) {
				expr = expressionItem.Expression;
			} else {
				expr = expressionItem.Text;
			}
			expressionItem.Text = Evaluate(expr);
		}
Пример #3
0
        public static void EvaluateRow(IExpressionEvaluatorFacade evaluator, ExporterCollection row)
        {
            foreach (BaseExportColumn column in row)
            {
                var container = column as IExportContainer;
                if (container != null)
                {
                    EvaluateRow(evaluator, container.Items);
                }

                IReportExpression expressionItem = column as IReportExpression;
                if (expressionItem != null)
                {
                    evaluator.Evaluate(expressionItem);
                }
            }
        }
Пример #4
0
        public static void EvaluateReportItems(IExpressionEvaluatorFacade evaluator, ReportItemCollection items)
        {
            foreach (BaseReportItem column in items)
            {
                var container = column as ISimpleContainer;
                if (container != null)
                {
                    EvaluateReportItems(evaluator, container.Items);
                }

                IReportExpression expressionItem = column as IReportExpression;
                if (expressionItem != null)
                {
                    evaluator.Evaluate(expressionItem);
                }
            }
        }
        public void Evaluate(IReportExpression expressionItem)
        {
            if (expressionItem == null)
            {
                throw new ArgumentException("expressionItem");
            }
            string expr = String.Empty;

            if (!String.IsNullOrEmpty(expressionItem.Expression))
            {
                expr = expressionItem.Expression;
            }
            else
            {
                expr = expressionItem.Text;
            }
            expressionItem.Text = Evaluate(expr);
        }
Пример #6
0
 private static void EvaluateRecursive(IExpressionEvaluatorFacade evaluatorFassade, ExporterCollection items)
 {
     foreach (BaseExportColumn exportColumn in items)
     {
         IExportContainer ec = exportColumn as IExportContainer;
         if (ec != null)
         {
             if (ec.Items.Count > 0)
             {
                 EvaluateRecursive(evaluatorFassade, ec.Items);
             }
         }
         IReportExpression expressionItem = exportColumn as IReportExpression;
         if (expressionItem != null)
         {
             evaluatorFassade.Evaluate(expressionItem);
         }
     }
 }