public DataTable ExecReportResult(int titleId, List <object> paramList)
        {
            BaseReportTitle title  = NewObject <BaseReportTitle>().getmodel(titleId) as BaseReportTitle;
            string          spName = title.ProName;

            return(oleDb.GetDataTable(spName, paramList.ToArray()));
        }
        public void LookReportDataSource(int titleId, List <object> paramList)
        {
            BaseReportTitle title  = NewObject <BaseReportTitle>().getmodel(titleId) as BaseReportTitle;
            string          spName = title.ProName;
            DataTable       dt     = oleDb.GetDataTable(spName, paramList.ToArray());

            (iBaseView["FrmUnitData"] as IfrmUnitData).loadUnitData(dt);
            (iBaseView["FrmUnitData"] as IfrmUnitData).UnitDataShowDialog();
        }
        private void toolStripButton1_Click(object sender, EventArgs e)
        {
            axGRDisplayViewer1.Stop();

            BaseReportTitle reportTitle = (BaseReportTitle)treeView1.SelectedNode.Tag;

            tPrintTable = (DataTable)InvokeController("ExecReportResult", reportTitle.TitleId, GetReportParamsValue());

            string Reportname = reportTitle.RptFileName.Trim() + ".grf";

            if (!System.IO.File.Exists(EFWCoreLib.CoreFrame.Init.AppGlobal.AppRootPath + @"Report\" + Reportname))
            {
                Report = new GridppReport();
                Report.InsertReportHeader();
                Report.InsertDetailGrid();
                Report.InsertReportFooter();
                Report.DetailGrid.IsCrossTab = true;

                IGRRecordset RecordSet = Report.DetailGrid.Recordset;
                foreach (DataColumn col in tPrintTable.Columns)
                {
                    if (col.DataType == typeof(Int32))
                    {
                        RecordSet.AddField(col.ColumnName, GRFieldType.grftInteger);
                    }
                    else if (col.DataType == typeof(Decimal) || col.DataType == typeof(Double))
                    {
                        RecordSet.AddField(col.ColumnName, GRFieldType.grftFloat);
                    }
                    else
                    {
                        RecordSet.AddField(col.ColumnName, GRFieldType.grftString);
                    }
                }

                Report.AddParameter("报表名称", GRParameterDataType.grptString);
                Report.AddParameter("打印时间", GRParameterDataType.grptString);
                Report.AddParameter("当前科室", GRParameterDataType.grptString);
                Report.AddParameter("当前人员", GRParameterDataType.grptString);
                Report.DetailGrid.IsCrossTab = false;
                Report.SaveToFile(EFWCoreLib.CoreFrame.Init.AppGlobal.AppRootPath + @"Report\" + Reportname);
            }


            Report = new GridppReport();
            Report.LoadFromFile(EFWCoreLib.CoreFrame.Init.AppGlobal.AppRootPath + @"Report\" + Reportname);

            Report.ParameterByName("报表名称").AsString = reportTitle.Name;
            Report.ParameterByName("打印时间").AsString = System.DateTime.Now.ToString();
            Report.ParameterByName("当前科室").AsString = "";
            Report.ParameterByName("当前人员").AsString = "";
            Report.FetchRecord       += new _IGridppReportEvents_FetchRecordEventHandler(reportPrinter_FetchRecord);
            axGRDisplayViewer1.Report = Report;
            axGRDisplayViewer1.Start();
        }
        private void toolStripButton3_Click(object sender, EventArgs e)
        {
            BaseReportTitle reportTitle = (BaseReportTitle)treeView1.SelectedNode.Tag;
            string          Reportname  = EFWCoreLib.CoreFrame.Init.AppGlobal.AppRootPath + @"Report\" + reportTitle.RptFileName.Trim() + ".grf";

            if (File.Exists(Reportname))
            {
                InvokeController("ReportDesigner", Reportname);
            }
            else
            {
                MessageBoxEx.Show("此报表文件还没有创建,请先点击查询创建基本的报表文件再进行设计!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
        public void AlterTitle(int titleId)
        {
            frmAddReport.loadsp(NewObject <ReportTitle>().GetDbProcedures());
            DataTable typerep = new DataTable();

            typerep.Columns.Add("id");
            typerep.Columns.Add("name");
            typerep.Rows.Add(0, "网格");
            typerep.Rows.Add(1, "交叉");
            typerep.Rows.Add(2, "参数");
            frmAddReport.loadreporttype(typerep);

            BaseReportTitle title = NewObject <BaseReportTitle>().getmodel(titleId) as BaseReportTitle;

            frmAddReport.currTitle      = title;
            (frmAddReport as Form).Text = "修改报表";
            (frmAddReport as Form).ShowDialog();
        }
        public void NewTitle(int layerId)
        {
            frmAddReport.loadsp(NewObject <ReportTitle>().GetDbProcedures());
            DataTable typerep = new DataTable();

            typerep.Columns.Add("id");
            typerep.Columns.Add("name");
            typerep.Rows.Add(0, "网格");
            typerep.Rows.Add(1, "交叉");
            typerep.Rows.Add(2, "参数");
            frmAddReport.loadreporttype(typerep);

            BaseReportTitle title = NewObject <BaseReportTitle>();

            title.LayerId               = layerId;
            frmAddReport.currTitle      = title;
            (frmAddReport as Form).Text = "添加报表";
            (frmAddReport as Form).ShowDialog();
        }
        //[AOP(typeof(AopTransaction))]
        public void InitFields(int titleId)
        {
            BaseReportTitle title = NewObject <BaseReportTitle>().getmodel(titleId) as BaseReportTitle;

            DataTable dt = NewDao <ReportDao>().GetProFields(title.ProName);

            List <BaseReportField> fields = new List <BaseReportField>();

            try
            {
                //先删除原来数据
                NewDao <ReportDao>().DeleteField(titleId);
                //循环添加字段
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    BaseReportField field = NewObject <BaseReportField>();
                    field.FieldId      = 0;
                    field.TitleId      = titleId;
                    field.Name         = dt.Rows[i]["parmname"].ToString();
                    field.ColName      = dt.Rows[i]["parmname"].ToString();
                    field.ColLength    = Convert.ToInt32(dt.Rows[i]["length"]);
                    field.DataType     = dt.Rows[i]["typename"].ToString();
                    field.UiType       = 0;
                    field.DynamicSQL   = "";
                    field.DataUnitId   = "-1";
                    field.IsMust       = dt.Rows[i]["rowtype"].ToString() == "P" ? 0 : 1;
                    field.MatchRegular = "";
                    field.SortId       = i;
                    field.save();
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }
        private void toolStripButton2_Click(object sender, EventArgs e)
        {
            BaseReportTitle reportTitle = (BaseReportTitle)treeView1.SelectedNode.Tag;

            InvokeController("LookReportDataSource", reportTitle.TitleId, GetReportParamsValue());
        }