Exemplo n.º 1
0
 public virtual CrystalDecisions.CrystalReports.Engine.ReportDocument CreateReport()
 {
     WeightBarycenterCR rpt = new WeightBarycenterCR();
     rpt.Site = this.Site;
     return rpt;
 }
        private void WeightBarycenterForm_Load(object sender, EventArgs e)
        {
            //推模式
            string sql = "";

            if (flag == 0)
            {
                sql = "SELECT * FROM SP_SPOOL_TAB where DRAWINGNO='" + DrawingNo + "'and FLAG='Y' and ProjectId='" + ProjectId + "'";
            }
            if (flag == 1)
            {
                sql = "SELECT * FROM SP_SPOOL_TAB where MODIFYDRAWINGNO='" + DrawingNo + "'and FLAG='Y' and ProjectId='" + ProjectId + "'and MODIFYDRAWINGNO is not null";
            }
            DataSet           ds     = new DataSet();
            OracleConnection  sqlCon = new OracleConnection(DataAccess.OIDSConnStr);
            OracleCommand     sqlCmd = new OracleCommand(sql, sqlCon);
            OracleDataAdapter sqlAd  = new OracleDataAdapter();

            sqlAd.SelectCommand = sqlCmd;
            sqlAd.Fill(ds, "sql");
            cr = new WeightBarycenterCR();
            //cr.Load(Application.StartupPath + "CrystalReport1.rpt");
            cr.SetDataSource(ds.Tables["sql"]);
            crystalReportViewer1.ReportSource = cr;
            SetArray();
            xsum   = weightcenter("XPOS");
            ysum   = weightcenter("YPOS");
            zsum   = weightcenter("ZPOS");
            xpF[0] = paixu(xsum, xp, xpF, zp, zpF, SF, EF);

            //传递参数
            ParameterFields        drawparam      = crystalReportViewer1.ParameterFieldInfo;
            ParameterField         drawparamFrame = drawparam["DRAWING_MODIFY_NO"];
            ParameterValues        drawcurValues  = drawparamFrame.CurrentValues;
            ParameterDiscreteValue discreteValued = new ParameterDiscreteValue();

            discreteValued.Value = DrawingNo;
            drawcurValues.Add(discreteValued);

            ParameterFields        paramFields    = crystalReportViewer1.ParameterFieldInfo;
            ParameterField         paramFrame     = paramFields["肋位:"];
            ParameterValues        FcurValues     = paramFrame.CurrentValues;
            ParameterDiscreteValue discreteValueF = new ParameterDiscreteValue();

            discreteValueF.Value = xpF[0].ToString() + " " + Math.Round(minx, 2);
            FcurValues.Add(discreteValueF);

            ParameterField         paramH         = paramFields["高度:"];
            ParameterValues        HcurValues     = paramH.CurrentValues;
            ParameterDiscreteValue discreteValueH = new ParameterDiscreteValue();

            for (m = 1; m <= zpF.Count; m++)
            {
                zpF[m - 1] = paixu(zsum, zp, zpF, xp, xpF, SF, EF);
                if (Convert.ToDouble(xpF[m - 1].ToString().Substring(2)) >= Convert.ToDouble(SF[m - 1].ToString().Substring(2)) && Convert.ToDouble(xpF[m - 1].ToString().Substring(2)) <= Convert.ToDouble(EF[m].ToString().Substring(2)))
                {
                    discreteValueH.Value = zpF[m - 1].ToString() + " " + Math.Round(minx, 2);
                    break;
                }
            }

            HcurValues.Add(discreteValueH);

            ParameterField         paramMiddle    = paramFields["距舯:"];
            ParameterValues        McurValues     = paramMiddle.CurrentValues;
            ParameterDiscreteValue discreteValueM = new ParameterDiscreteValue();

            discreteValueM.Value = Math.Round(ysum, 2);
            McurValues.Add(discreteValueM);
            crystalReportViewer1.ParameterFieldInfo = paramFields;
            crystalReportViewer1.Refresh();
            //ReplaceExportButton();
        }
        private void WeightBarycenterForm_Load(object sender, EventArgs e)
        {
            //推模式
            string sql="";
            if (flag == 0)
            {
                sql = "SELECT * FROM SP_SPOOL_TAB where DRAWINGNO='" + DrawingNo + "'and FLAG='Y' and ProjectId='" + ProjectId + "'";
            }
            if (flag == 1)
            {
                sql = "SELECT * FROM SP_SPOOL_TAB where MODIFYDRAWINGNO='" + DrawingNo + "'and FLAG='Y' and ProjectId='" + ProjectId + "'and MODIFYDRAWINGNO is not null";
            }
            DataSet ds = new DataSet();
            OracleConnection sqlCon = new OracleConnection(DataAccess.OIDSConnStr);
            OracleCommand sqlCmd = new OracleCommand(sql, sqlCon);
            OracleDataAdapter sqlAd = new OracleDataAdapter();
            sqlAd.SelectCommand = sqlCmd;
            sqlAd.Fill(ds, "sql");
            cr = new WeightBarycenterCR();
            //cr.Load(Application.StartupPath + "CrystalReport1.rpt");
            cr.SetDataSource(ds.Tables["sql"]);
            crystalReportViewer1.ReportSource = cr;
            SetArray();
            xsum = weightcenter("XPOS");
            ysum = weightcenter("YPOS");
            zsum = weightcenter("ZPOS");
            xpF[0] = paixu(xsum, xp, xpF, zp, zpF, SF, EF);

            //传递参数
            ParameterFields drawparam = crystalReportViewer1.ParameterFieldInfo;
            ParameterField drawparamFrame = drawparam["DRAWING_MODIFY_NO"];
            ParameterValues drawcurValues = drawparamFrame.CurrentValues;
            ParameterDiscreteValue discreteValued = new ParameterDiscreteValue();
            discreteValued.Value = DrawingNo;
            drawcurValues.Add(discreteValued);

            ParameterFields paramFields = crystalReportViewer1.ParameterFieldInfo;
            ParameterField paramFrame = paramFields["肋位:"];
            ParameterValues FcurValues = paramFrame.CurrentValues;
            ParameterDiscreteValue discreteValueF = new ParameterDiscreteValue();
            discreteValueF.Value = xpF[0].ToString() + " " + Math.Round(minx, 2);
            FcurValues.Add(discreteValueF);

            ParameterField paramH = paramFields["高度:"];
            ParameterValues HcurValues = paramH.CurrentValues;
            ParameterDiscreteValue discreteValueH = new ParameterDiscreteValue();

            for (m = 1; m <= zpF.Count; m++)
            {
                zpF[m - 1] = paixu(zsum, zp, zpF, xp, xpF, SF, EF);
                if (Convert.ToDouble(xpF[m - 1].ToString().Substring(2)) >= Convert.ToDouble(SF[m - 1].ToString().Substring(2)) && Convert.ToDouble(xpF[m - 1].ToString().Substring(2)) <= Convert.ToDouble(EF[m].ToString().Substring(2)))
                {
                    discreteValueH.Value = zpF[m - 1].ToString() + " " + Math.Round(minx, 2);
                    break;
                }

            }

            HcurValues.Add(discreteValueH);

            ParameterField paramMiddle = paramFields["距舯:"];
            ParameterValues McurValues = paramMiddle.CurrentValues;
            ParameterDiscreteValue discreteValueM = new ParameterDiscreteValue();
            discreteValueM.Value = Math.Round(ysum, 2);
            McurValues.Add(discreteValueM);
            crystalReportViewer1.ParameterFieldInfo = paramFields;
            crystalReportViewer1.Refresh();
            //ReplaceExportButton();
        }