Esempio n. 1
0
        /*
         * private AvailableFieldsCollection ColumnsFromTable (DataTable table)
         * {
         *      AvailableFieldsCollection av = new AvailableFieldsCollection();
         *      AbstractColumn ac = null;
         *      foreach (DataColumn dc in resultDataSet.Tables[0].Columns) {
         *              Console.WriteLine("{0} - {1}",dc.ColumnName,dc.DataType);
         *              ac = new AbstractColumn(dc.ColumnName,dc.DataType);
         *              av.Add(ac);
         *      }
         *      return av;
         * }
         */

        #region  DataGridView

        void FillDataGrid(string fileName)
        {
            this.resultDataSet        = new DataSet();
            this.resultDataSet.Locale = CultureInfo.CurrentCulture;

            resultDataSet.ReadXml(fileName);
            this.grdQuery.DataSource = resultDataSet.Tables[0];
            this.abstractColumns     = WizardHelper.AbstractColumnsFromDataSet(this.resultDataSet);
            foreach (DataGridViewColumn dd in this.grdQuery.Columns)
            {
                DataGridViewColumnHeaderCheckBoxCell cb = new DataGridViewColumnHeaderCheckBoxCell();
                cb.CheckBoxAlignment = HorizontalAlignment.Left;
                cb.Checked           = true;
                dd.HeaderCell        = cb;
            }
            base.EnableFinish = true;
        }
Esempio n. 2
0
        public override bool ReceiveDialogMessage(DialogMessage message)
        {
            if (customizer == null)
            {
                customizer      = (Properties)base.CustomizationObject;
                reportStructure = (ReportStructure)customizer.Get("Generator");
            }
            if (message == DialogMessage.Activated)
            {
                this.model         = reportStructure.CreateAndFillReportModel();
                this.resultDataSet = FillGrid();

                if (this.resultDataSet != null)
                {
                    this.grdQuery.DataSource = this.resultDataSet.Tables[0];
                    foreach (DataGridViewColumn dd in this.grdQuery.Columns)
                    {
                        DataGridViewColumnHeaderCheckBoxCell cb = new DataGridViewColumnHeaderCheckBoxCell();
                        cb.CheckBoxAlignment = HorizontalAlignment.Right;
                        cb.Checked           = true;
                        dd.HeaderCell        = cb;
                        dd.SortMode          = DataGridViewColumnSortMode.NotSortable;
                    }
                    this.grdQuery.AllowUserToOrderColumns = true;
                }
                base.EnableNext   = true;
                base.EnableFinish = true;
            }
            else if (message == DialogMessage.Finish)
            {
                if (this.resultDataSet != null)
                {
                    // check reordering of columns
                    DataGridViewColumn[]         displayCols;
                    DataGridViewColumnCollection dc = this.grdQuery.Columns;
                    displayCols = new DataGridViewColumn[dc.Count];
                    for (int i = 0; i < dc.Count; i++)
                    {
                        if (dc[i].Visible)
                        {
                            displayCols[dc[i].DisplayIndex] = dc[i];
                        }
                    }

                    // only checked columns are used in the report
                    ReportItemCollection      sourceItems     = WizardHelper.DataItemsFromDataSet(this.resultDataSet);
                    AvailableFieldsCollection abstractColumns = WizardHelper.AbstractColumnsFromDataSet(this.resultDataSet);
                    ReportItemCollection      destItems       = new ReportItemCollection();

                    foreach (DataGridViewColumn cc in displayCols)
                    {
                        DataGridViewColumnHeaderCheckBoxCell hc = (DataGridViewColumnHeaderCheckBoxCell)cc.HeaderCell;
                        if (hc.Checked)
                        {
                            BaseReportItem br = (BaseReportItem)sourceItems.Find(cc.HeaderText);
                            destItems.Add(br);
                        }
                    }
                    reportStructure.ReportItemCollection.AddRange(destItems);
                    if ((this.sqlParamsCollection != null) && (this.sqlParamsCollection.Count > 0))
                    {
                        reportStructure.SqlQueryParameters.AddRange(sqlParamsCollection);
                    }

                    if (abstractColumns != null)
                    {
                        reportStructure.AvailableFieldsCollection.AddRange(abstractColumns);
                    }
                }
                base.EnableNext   = true;
                base.EnableFinish = true;
            }
            return(true);
        }