Пример #1
0
        /// <summary>
        /// Lê um único campo do relatório.
        /// </summary>
        /// <param name="p_reader">Objeto XML.</param>
        private void ReadField(System.Xml.XmlReader p_reader)
        {
            Spartacus.Reporting.Field v_field;
            System.Xml.XmlReader      v_item;

            v_field = new Spartacus.Reporting.Field();

            while (p_reader.Read())
            {
                if (p_reader.IsStartElement())
                {
                    switch (p_reader.Name)
                    {
                    case "title":
                        v_field.v_title = p_reader.ReadString();
                        break;

                    case "column":
                        v_field.v_column = p_reader.ReadString();
                        break;

                    case "align":
                        switch (p_reader.ReadString())
                        {
                        case "LEFT":
                            v_field.v_align = Spartacus.Reporting.FieldAlignment.LEFT;
                            break;

                        case "RIGHT":
                            v_field.v_align = Spartacus.Reporting.FieldAlignment.RIGHT;
                            break;

                        case "CENTER":
                            v_field.v_align = Spartacus.Reporting.FieldAlignment.CENTER;
                            break;

                        default:
                            break;
                        }
                        break;

                    case "fill":
                        v_field.v_fill = double.Parse(p_reader.ReadString());
                        break;

                    case "type":
                        v_field.SetType(p_reader.ReadString());
                        break;

                    case "row":
                        v_field.v_row = System.Convert.ToInt32(p_reader.ReadString());
                        break;

                    case "format":
                        v_field.v_format = p_reader.ReadString();
                        break;

                    case "border":
                        v_field.v_border = new Spartacus.Reporting.Border(p_reader.ReadString());
                        break;

                    case "blank":
                        v_field.v_blank = p_reader.ReadString();
                        break;

                    case "font":
                        v_field.v_font = new Spartacus.Reporting.Font();
                        v_item         = p_reader.ReadSubtree();
                        this.ReadFont(v_field.v_font, v_item);
                        v_item.Close();
                        break;

                    default:
                        break;
                    }
                }
            }

            if ((v_field.v_row + 1) > this.v_numrowsdetail)
            {
                this.v_numrowsdetail = v_field.v_row + 1;
            }

            this.v_fields.Add(v_field);
        }
        /// <summary>
        /// Lê um único campo de um cabeçalho de grupo.
        /// </summary>
        /// <param name="p_reader">Objeto XML.</param>
        /// <param name="p_group">Grupo do relatório.</param>
        private void ReadGroupHeaderField(System.Xml.XmlReader p_reader, Spartacus.Reporting.Group p_group)
        {
            Spartacus.Reporting.Field v_field;
            System.Xml.XmlReader v_item;

            v_field = new Spartacus.Reporting.Field();

            while (p_reader.Read())
            {
                if (p_reader.IsStartElement())
                {
                    switch (p_reader.Name)
                    {
                        case "title":
                            v_field.v_title = p_reader.ReadString();
                            break;
                        case "column":
                            v_field.v_column = p_reader.ReadString();
                            break;
                        case "align":
                            switch (p_reader.ReadString())
                            {
                                case "LEFT":
                                    v_field.v_align = Spartacus.Reporting.FieldAlignment.LEFT;
                                    break;
                                case "RIGHT":
                                    v_field.v_align = Spartacus.Reporting.FieldAlignment.RIGHT;
                                    break;
                                case "CENTER":
                                    v_field.v_align = Spartacus.Reporting.FieldAlignment.CENTER;
                                    break;
                                default:
                                    break;
                            }
                            break;
                        case "fill":
                            v_field.v_fill = double.Parse(p_reader.ReadString());
                            break;
                        case "type":
                            v_field.SetType(p_reader.ReadString());
                            break;
                        case "groupedvalue":
                            if (p_reader.ReadString() == "FALSE")
                                v_field.v_groupedvalue = false;
                            else
                                v_field.v_groupedvalue = true;
                            break;
                        case "row":
                            v_field.v_row = System.Convert.ToInt32(p_reader.ReadString());
                            break;
                        case "format":
                            v_field.v_format = p_reader.ReadString();
                            break;
                        case "border":
                            v_field.v_border = new Spartacus.Reporting.Border(p_reader.ReadString());
                            break;
                        case "blank":
                            v_field.v_blank = p_reader.ReadString();
                            break;
                        case "font":
                            v_field.v_font = new Spartacus.Reporting.Font();
                            v_item = p_reader.ReadSubtree();
                            this.ReadFont(v_field.v_font, v_item);
                            v_item.Close();
                            break;
                        default:
                            break;
                    }
                }
            }

            if ((v_field.v_row + 1) > p_group.v_numrowsheader)
                p_group.v_numrowsheader = v_field.v_row + 1;

            p_group.v_headerfields.Add(v_field);
        }
Пример #3
0
        /// <summary>
        /// Lê um único campo de rodapé de grupo.
        /// </summary>
        /// <param name="p_reader">Objeto XML.</param>
        /// <param name="p_group">Grupo do relatório.</param>
        private void ReadGroupFooterField(System.Xml.XmlReader p_reader, Spartacus.Reporting.Group p_group)
        {
            Spartacus.Reporting.Field v_field;
            System.Xml.XmlReader      v_item;

            v_field = new Spartacus.Reporting.Field();

            while (p_reader.Read())
            {
                if (p_reader.IsStartElement())
                {
                    switch (p_reader.Name)
                    {
                    case "title":
                        v_field.v_title = p_reader.ReadString();
                        break;

                    case "column":
                        v_field.v_column = p_reader.ReadString();
                        break;

                    case "align":
                        switch (p_reader.ReadString())
                        {
                        case "LEFT":
                            v_field.v_align = Spartacus.Reporting.FieldAlignment.LEFT;
                            break;

                        case "RIGHT":
                            v_field.v_align = Spartacus.Reporting.FieldAlignment.RIGHT;
                            break;

                        case "CENTER":
                            v_field.v_align = Spartacus.Reporting.FieldAlignment.CENTER;
                            break;

                        default:
                            break;
                        }
                        break;

                    case "fill":
                        v_field.v_fill = double.Parse(p_reader.ReadString());
                        break;

                    case "type":
                        v_field.SetType(p_reader.ReadString());
                        break;

                    case "groupedvalue":
                        if (p_reader.ReadString() == "FALSE")
                        {
                            v_field.v_groupedvalue = false;
                        }
                        else
                        {
                            v_field.v_groupedvalue = true;
                        }
                        break;

                    case "row":
                        v_field.v_row = System.Convert.ToInt32(p_reader.ReadString());
                        break;

                    case "format":
                        v_field.v_format = p_reader.ReadString();
                        break;

                    case "border":
                        v_field.v_border = new Spartacus.Reporting.Border(p_reader.ReadString());
                        break;

                    case "blank":
                        v_field.v_blank = p_reader.ReadString();
                        break;

                    case "font":
                        v_field.v_font = new Spartacus.Reporting.Font();
                        v_item         = p_reader.ReadSubtree();
                        this.ReadFont(v_field.v_font, v_item);
                        v_item.Close();
                        break;

                    default:
                        break;
                    }
                }
            }

            if ((v_field.v_row + 1) > p_group.v_numrowsfooter)
            {
                p_group.v_numrowsfooter = v_field.v_row + 1;
            }

            p_group.v_footerfields.Add(v_field);
        }