Ejemplo n.º 1
0
        public virtual IReportElement Clone(string name)
        {
            ElementGroup clone = new ElementGroup(name);

            for (int i = 0; i < this.elements.Length; i++)
            {
                clone.AddElementInternal(this.elements[i].Clone());
            }

            return(clone);
        }
Ejemplo n.º 2
0
        public override void ReadXml(XmlReader reader)
        {
            reader.ReadStartElement();
            this.name = reader.ReadElementContentAsString();
            try
            {
                this.description = reader.ReadElementContentAsString();
            }
            catch (Exception) { }
            reader.MoveToContent();
            //now read the row template
            Type          rowType = Type.GetType(reader.GetAttribute("type"));
            XmlSerializer rowSer  = new XmlSerializer(rowType);

            this.rowTemplate = (ElementGroup)rowSer.Deserialize(reader);
            reader.MoveToContent();

            reader.ReadEndElement();

            int i = 0;

            //now we're into fields
            reader.ReadStartElement();
            reader.MoveToContent();
            while (reader.NodeType != XmlNodeType.EndElement)
            {
                Type type = Type.GetType(reader.GetAttribute("type"));

                XmlSerializer  ser     = new XmlSerializer(type);
                IReportElement element = (IReportElement)ser.Deserialize(reader);
                reader.ReadEndElement();
                reader.MoveToContent();

                this.AddElementInternal(element);
            }

            reader.ReadEndElement();
            reader.MoveToContent();
            reader.ReadEndElement();
            //now we're done with the fields.
            Console.WriteLine("~" + reader.Name);
        }
Ejemplo n.º 3
0
        public FieldRows(string name, ElementGroup rowTemplate, string description = "") : base(name, description)
        {
            this.rowTemplate = rowTemplate;

            this.AddRow();
        }