Example #1
0
        private void AddReportControl(ReportItemBase reportItem, double factor)
        {
            ReportCtrl reportCtrl = null;

            if (reportItem is ReportPictureItem)
            {
                reportCtrl = new ReportCtrlPicture((ReportPictureItem)reportItem);
            }
            reportCtrl.Bounds = reportItem.Bounds;
            if (factor > 0)
            {
                reportPage.ReportItems.Add(reportItem);
                // _reportPage.ReportItems.Insert(0,reportItemBase);
            }
            this.Controls.Add(reportCtrl);

            try
            {
                this.Controls.SetChildIndex(reportCtrl, reportItem.Level);
            }
            catch
            {
            }
            reportCtrl.Scale(factor);

            if (factor > 0)
            {
                OnReportCtrlChanged(reportCtrl, ArrayChangedType.ItemAdded);
            }
        }
        void SetConnectionString(ReportItemBase reportItemBase)
        {
            if (reportItemBase.Items.Count < 1)
            {
                return;
            }

            if (reportItemBase is Report)
            {
                var report = (Report)reportItemBase;

                if (report.DataSource is SqlDataSource)
                {
                    var sqlDataSource = (SqlDataSource)report.DataSource;
                    sqlDataSource.ConnectionString = connectionString;
                }
                foreach (var parameter in report.ReportParameters)
                {
                    if (parameter.AvailableValues.DataSource is SqlDataSource)
                    {
                        var sqlDataSource = (SqlDataSource)parameter.AvailableValues.DataSource;
                        sqlDataSource.ConnectionString = connectionString;
                    }
                }
            }

            foreach (var item in reportItemBase.Items)
            {
                //recursively set the connection string to the items from the Items collection
                SetConnectionString(item);

                //set the drillthrough report connection strings
                var drillThroughAction = item.Action as NavigateToReportAction;
                if (null != drillThroughAction)
                {
                    var updatedReportInstance = this.UpdateReportSource(drillThroughAction.ReportSource);
                    drillThroughAction.ReportSource = updatedReportInstance;
                }

                if (item is SubReport)
                {
                    var subReport = (SubReport)item;
                    subReport.ReportSource = this.UpdateReportSource(subReport.ReportSource);
                    continue;
                }

                //Covers all data items(Crosstab, Table, List, Graph, Map and Chart)
                if (item is DataItem)
                {
                    var dataItem = (DataItem)item;
                    if (dataItem.DataSource is SqlDataSource)
                    {
                        var sqlDataSource = (SqlDataSource)dataItem.DataSource;
                        sqlDataSource.ConnectionString = connectionString;
                        continue;
                    }
                }
            }
        }
Example #3
0
 public ReportCtrl(ReportItemBase reportItem) : this()
 {
     ReportItem      = reportItem;
     AllowDrop       = true;
     this.Load      += new EventHandler(ReportCtrl_Load);
     this.MouseMove += new MouseEventHandler(ReportCtrl_MouseMove);
     this.MouseDown += new MouseEventHandler(ReportCtrl_MouseDown);
     this.MouseUp   += new MouseEventHandler(ReportCtrl_MouseUp);
 }
Example #4
0
        public CreateReportItem(ReportItemBase reportItem)
        {
            this.Groups      = new DBContent().ReportGroups;
            this.ReportItem  = reportItem;
            this.Connections = new DBContent().BasicConnections;
            this.Forms       = new DBContent().FullForms;
            this.Templates   = new DBContent().FullTemplates;

            if (this.ReportItem == null)
            {
                this.ReportItem = new ReportItemBase(-1, "", "",
                                                     this.Connections.Count() > 0 ? new DBContent().GetConnection(this.Connections[0].ID) : null,
                                                     null,
                                                     this.Templates.Count() > 0 ?  new DBContent().GetTemplate(this.Templates[0].ID): null);
            }

            //Connections
            if (this.ReportItem.ConnectionItem != null)
            {
                foreach (OptionItem item in this.Connections)
                {
                    item.SetSelected(item.ID == ReportItem.ConnectionItem.ID);
                }
            }

            //Forms
            this.Forms.Insert(0, new BasicEntry(-1, "", ""));
            if (ReportItem.FormItem != null)
            {
                foreach (OptionItem item in this.Forms)
                {
                    item.SetSelected(item.ID == ReportItem.FormItem.ID);
                }
            }

            //Templates
            if (ReportItem.TemplateItem != null)
            {
                foreach (OptionItem item in this.Templates)
                {
                    item.SetSelected(item.ID == ReportItem.TemplateItem.ID);
                }
            }
        }
Example #5
0
 public DisplayReportItem(ReportItemBase reportItem,
                          Dictionary <string, object> physicalFormValues)
 {
     this.ReportItem         = reportItem;
     this.PhysicalFormValues = physicalFormValues;
 }
Example #6
0
        /// <summary>
        /// Adds the group level lines.
        /// </summary>
        /// <param name="collection">The collection.</param>
        private void AddGroupLevelLines(ReportItemBase.ItemCollection collection)
        {
            if (_indentOffset.Equals(0)) return;

            for (var i = 0; i < _indentOffset / 0.15; i++)
            {
                var indentCell = new TextBox();
                indentCell.Style.BackgroundColor = Color.White;
                indentCell.Style.BorderColor.Left = Color.DarkGray;
                indentCell.Style.BorderStyle.Left = BorderType.Dotted;
                indentCell.Location = new PointU(new Unit(0.15 * i, UnitType.Inch), new Unit(0, UnitType.Inch));
                indentCell.Size = new SizeU(new Unit(0.15, UnitType.Inch), new Unit(0.2, UnitType.Inch));

                collection.Insert(i, indentCell);
            }
        }
 private void RenderDataItem(ReportItemBase dataItem)
 {
     // add report item to the collection
     _reportItems[dataItem.Name] = dataItem;
 }