示例#1
0
        private void CreateReportViewer()
        {
            frmRpt = new frm_Report();

            #region Подготовить данные для вывода в отчет

            // Исходные данные в отчет 
            DataInput_HB _DataInput_HB = new DataInput_HB(HB);
            List<cReportList> RepListInputHB = new List<cReportList>();
            foreach (HeatBalance.Class.Param par in _allParamsInput)
            {
                if (par.IsReport)
                {
                    if (_DataInput_HB.GetType().GetProperty(par.PropertyName).GetValue(_DataInput_HB, null) != null)
                    {
                        double d = Math.Round(Convert.ToDouble(
                            _DataInput_HB.GetType().GetProperty(par.PropertyName).GetValue(
                            _DataInput_HB, null)), 3);
                        RepListInputHB.Add(new HeatBalance.Class.cReportList(par.Description, d.ToString()));
                    }
                }
            }
            frmRpt.cReportInputBindingSource.DataSource = RepListInputHB;
            // Результаты расчета в отчет 
            DataOutput _dataOutput = new DataOutput(HB);
            List<cReportList> RepListOutput = new List<cReportList>();
            foreach (HeatBalance.Class.Param par in _allParamsOutput)
            {
                if (par.IsReport)
                {
                    double d = Math.Round(Convert.ToDouble(
                        _dataOutput.GetType().GetProperty(par.PropertyName).GetValue(_dataOutput, null)), 3);
                    RepListOutput.Add(new HeatBalance.Class.cReportList(par.Description, d.ToString()));
                }
            }
            #endregion

            #region Указать отчету источники данных                
            frmRpt.cReportInputBindingSource.DataSource = RepListInputHB;
            frmRpt.cReportOutputBindingSource.DataSource = RepListOutput;
            #endregion

            #region Показать окно отчета на весь экран
            frmRpt.WindowState = FormWindowState.Maximized;
            frmRpt.ShowDialog(this);
            #endregion
        }
示例#2
0
        public void CreateReportViewer()
        {
            frmRpt = new RepForm();

            // Исходные данные в отчет только те, которые отметил пользователь (IsReport=true)
            DataInput          _DataInput   = new DataInput(c);
            List <cReportList> RepListInput = new List <cReportList>();

            foreach (KonverSywul.Class.Param par in _allParamsInput)
            {
                if (par.IsReport)
                {
                    if (_DataInput.GetType().GetProperty(par.PropertyName).GetValue(_DataInput, null) != null)
                    {
                        double d = Math.Round(Convert.ToDouble(
                                                  _DataInput.GetType().GetProperty(par.PropertyName).GetValue(
                                                      _DataInput, null)), 3);
                        RepListInput.Add(new KonverSywul.Class.cReportList(par.Description, d.ToString()));
                    }
                }
            }
            frmRpt.cReportInputBindingSource.DataSource = RepListInput;
            // Результаты расчета в отчет только те, которые отметил пользователь (IsReport=true)
            DataOutput         _DataOutput   = new DataOutput(c);
            List <cReportList> RepListOutput = new List <cReportList>();

            foreach (KonverSywul.Class.Param par in _allParamsOutput)
            {
                if (par.IsReport)
                {
                    double d = Math.Round(Convert.ToDouble(
                                              _DataOutput.GetType().GetProperty(par.PropertyName).GetValue(_DataOutput, null)), 3);
                    RepListOutput.Add(new KonverSywul.Class.cReportList(par.Description, d.ToString()));
                }
            }

            // Указать отчету источники данных
            frmRpt.cReportInputBindingSource.DataSource = RepListInput;
            frmRpt.cParamOutputBindingSource.DataSource = RepListOutput;
            // Показать окно отчета на весь экран
            frmRpt.WindowState = FormWindowState.Maximized;
            frmRpt.ShowDialog(this);
        }
示例#3
0
        private void FormOptionDefault()
        {
            // Показать в заголовке главного окна номер текущей версии и пользвателя
            this.Text = this.Text + " [" + Assembly.GetExecutingAssembly().GetName().Version.ToString() + "]";
            // Установить редактируемый объект в PropertyGrid
            _DataInput  = new DataInput(c);
            _DataOutput = new DataOutput(c);
            //btn_OpenGR.Enabled = false;
            //btn_OpenReport.Enabled = false;

            string path = Application.UserAppDataPath.ToString() + @"\";

            #region -- Заполнить перечень показателей в отчет: исходные данные
            #region -- Исходные данные
            if (File.Exists(path + "cfgInputToRep.xml"))
            {
                XmlSerializer xmls = new XmlSerializer(typeof(List <KonverSywul.Class.Param>));
                FileStream    fs   = null;
                try
                {
                    // Исходные данные
                    fs = new FileStream(path + "cfgInputToRepDP1.xml", FileMode.Open);
                    _allParamsInput = (List <KonverSywul.Class.Param>)xmls.Deserialize(fs);
                }
                catch
                {
                }
                finally
                {
                    if (fs != null)
                    {
                        fs.Close();
                    }
                }
            }
            else
            {
                DataInput      _dataIn = new DataInput(c);
                PropertyInfo[] pArrIn  = _dataIn.GetType().GetProperties();
                if (pArrIn != null)
                {
                    foreach (PropertyInfo p in pArrIn)
                    {
                        string   descrIn = "";
                        object[] attrIn  = p.GetCustomAttributes(false);
                        if (attrIn != null)
                        {
                            foreach (object a in attrIn)
                            {
                                if (a is DisplayNameAttribute)
                                {
                                    descrIn += (a as DisplayNameAttribute).DisplayName;
                                }
                                if (a is CategoryAttribute)
                                {
                                    descrIn = descrIn.Insert(0, (a as CategoryAttribute).Category + ", ");
                                }
                            }
                        }
                        KonverSywul.Class.Param parIn = new KonverSywul.Class.Param(0);
                        parIn.Description  = descrIn;
                        parIn.IsReport     = true;
                        parIn.PropertyName = p.Name;
                        _allParamsInput.Add(parIn);
                    }
                }
            }
            #endregion -- Исходные данные
            #endregion

            #region -- Заполнить перечень показателей в отчет: результаты расчета
            if (File.Exists(path + "cfgOutputToRep.xml"))
            {
                XmlSerializer xmls  = new XmlSerializer(typeof(List <KonverSywul.Class.Param>));
                FileStream    fsOut = null;
                try
                {
                    fsOut            = new FileStream(path + "cfgOutputToRep.xml", FileMode.Open);
                    _allParamsOutput = (List <KonverSywul.Class.Param>)xmls.Deserialize(fsOut);
                }
                catch
                {
                }
                finally
                {
                    if (fsOut != null)
                    {
                        fsOut.Close();
                    }
                }
            }
            else
            {
                DataOutput     _dataOut = new DataOutput(c);
                PropertyInfo[] pArrOut  = _dataOut.GetType().GetProperties();
                if (pArrOut != null)
                {
                    foreach (PropertyInfo p in pArrOut)
                    {
                        string   descrOut = "";
                        object[] attrOut  = p.GetCustomAttributes(false);
                        if (attrOut != null)
                        {
                            foreach (object a in attrOut)
                            {
                                if (a is DisplayNameAttribute)
                                {
                                    descrOut += (a as DisplayNameAttribute).DisplayName;
                                }
                                if (a is CategoryAttribute)
                                {
                                    descrOut = descrOut.Insert(0, (a as CategoryAttribute).Category + ", ");
                                }
                            }
                        }
                        KonverSywul.Class.Param parOut = new KonverSywul.Class.Param(0);
                        parOut.Description  = descrOut;
                        parOut.IsReport     = true;
                        parOut.PropertyName = p.Name;
                        _allParamsOutput.Add(parOut);
                    }
                }
            }
            #endregion
        }