コード例 #1
0
        private Column InternalInfer(string columnName, Type columnDataType)
        {
            var column = new Column(columnName);

            if (IsSimpleType(columnDataType))
            {
                if (IsShortNumeric(columnDataType))
                {
                    column.Width           = 5;
                    column.Style.Alignment = TextAlignment.Center;
                }
                else if (IsLongNumeric(columnDataType))
                {
                    column.Width           = 10;
                    column.Style.Alignment = TextAlignment.Right;
                }
                else if (IsCurrency(columnDataType))
                {
                    column.Width           = 10;
                    column.FormatString    = "R$ {0:0.00}";
                    column.Style.Alignment = TextAlignment.Right;
                }
                else if (IsDate(columnDataType))
                {
                    column.Width           = 10;
                    column.FormatString    = "{0:dd/MM/yyyy}";
                    column.Style.Alignment = TextAlignment.Center;
                }
                else if (IsBoolean(columnDataType))
                {
                    column.Width = 5;
                    column.MapValue("", "--");
                    column.MapValue("True", "Sim");
                    column.MapValue("False", "Não");
                    column.Style.Alignment = TextAlignment.Center;
                }
            }

            if (mdHelper != null)
            {
                mdHelper.ComplementStyle(column);
            }

            return(column);
        }
コード例 #2
0
        /// <summary>
        /// Complementa o estilo de uma coluna, baseado nos metadados.
        /// </summary>
        /// <param name="column">A coluna</param>
        public void ComplementStyle(Column column)
        {
            var xpath = String.Format("/ReportMetadata/Fields/Field[@Name='{0}']", column.Expression);
            var el    = doc.SelectSingleNode(xpath) as XmlElement;

            if (el != null)
            {
                var caption     = el.GetAttributeNode("Caption");
                var width       = el.GetAttributeNode("Width");
                var format      = el.GetAttributeNode("FormatString");
                var nullValue   = el.GetAttributeNode("NullValue");
                var textAlign   = el.GetAttributeNode("TextAlignment");
                var headerAlign = el.GetAttributeNode("HeaderAlignment");

                if (caption != null)
                {
                    column.Header.Contents = caption.Value;
                }

                if (width != null)
                {
                    column.Width = Convert.ToDouble(width.Value, CultureInfo.InvariantCulture);
                }

                if (format != null)
                {
                    column.FormatString = format.Value;
                }

                if (nullValue != null)
                {
                    column.NullValue = nullValue.Value;
                }

                if (textAlign != null)
                {
                    column.Style.Alignment = (TextAlignment)Enum.Parse(typeof(TextAlignment), textAlign.Value, true);
                }

                if (headerAlign != null)
                {
                    column.Header.Style.Alignment = (TextAlignment)Enum.Parse(typeof(TextAlignment), headerAlign.Value, true);
                }

                foreach (XmlElement map in el.SelectNodes("Map"))
                {
                    column.MapValue(map.GetAttribute("Value"), map.GetAttribute("To"));
                }
            }
            else
            {
                throw new ArgumentException(String.Format("Report Metadata for column named {0} not found.", column.Expression));
            }
        }
コード例 #3
0
		/// <summary>
		/// Complementa o estilo de uma coluna, baseado nos metadados.
		/// </summary>
		/// <param name="column">A coluna</param>
		public void ComplementStyle(Column column)
		{
			var xpath = String.Format("/ReportMetadata/Fields/Field[@Name='{0}']", column.Expression);
			var el = doc.SelectSingleNode(xpath) as XmlElement;
			if (el != null)
			{
				var caption = el.GetAttributeNode("Caption");
				var width = el.GetAttributeNode("Width");
				var format = el.GetAttributeNode("FormatString");
				var nullValue = el.GetAttributeNode("NullValue");
				var textAlign = el.GetAttributeNode("TextAlignment");
				var headerAlign = el.GetAttributeNode("HeaderAlignment");

				if (caption != null)
					column.Header.Contents = caption.Value;

				if (width != null)
					column.Width = Convert.ToDouble(width.Value, CultureInfo.InvariantCulture);

				if (format != null)
					column.FormatString = format.Value;

				if (nullValue != null)
					column.NullValue = nullValue.Value;

				if (textAlign != null)
					column.Style.Alignment = (TextAlignment) Enum.Parse(typeof(TextAlignment), textAlign.Value, true);

				if (headerAlign != null)
					column.Header.Style.Alignment = (TextAlignment) Enum.Parse(typeof(TextAlignment), headerAlign.Value, true);

				foreach (XmlElement map in el.SelectNodes("Map"))
					column.MapValue(map.GetAttribute("Value"), map.GetAttribute("To"));
			}
			else
				throw new ArgumentException(String.Format("Report Metadata for column named {0} not found.", column.Expression));
		}
コード例 #4
0
		private Column InternalInfer(string columnName, Type columnDataType)
		{
			var column = new Column(columnName);

			if (IsSimpleType(columnDataType))
			{
				if (IsShortNumeric(columnDataType))
				{
					column.Width = 5;
					column.Style.Alignment = TextAlignment.Center;
				}
				else if (IsLongNumeric(columnDataType))
				{
					column.Width = 10;
					column.Style.Alignment = TextAlignment.Right;
				}
				else if (IsCurrency(columnDataType))
				{
					column.Width = 10;
					column.FormatString = "R$ {0:0.00}";
					column.Style.Alignment = TextAlignment.Right;
				}
				else if (IsDate(columnDataType))
				{
					column.Width = 10;
					column.FormatString = "{0:dd/MM/yyyy}";
					column.Style.Alignment = TextAlignment.Center;
				}
				else if (IsBoolean(columnDataType))
				{
					column.Width = 5;
					column.MapValue("", "--");
					column.MapValue("True", "Sim");
					column.MapValue("False", "Não");
					column.Style.Alignment = TextAlignment.Center;
				}
			}

			if (mdHelper != null)
				mdHelper.ComplementStyle(column);

			return column;
		}