c#報表

来源:互联网 发布:windows界面切换 编辑:程序博客网 时间:2024/05/16 04:39

 //e://win//qp//qp//
            // string reportPath = @"rpt//sale.rpt";
            //  string sqlstr = "SELECT  id,dh,bm,mc,xh,pp,sl,dw,out_price,hg,shdate,zffs,khm,czy  FROM  p_sale_t where xs_dh='" + _dh + "'";
            string sqlstr = "exec p_sale_t_report '" + _dh + "'";
           // customerReport.Load(_reportpath);
            // DataSet dataSet = DataSetConfiguration.CustomerDataSet;
            DataSet dataSet = new DataSet();
            //customerReport.SetDatabaseLogon("jackey", "chenzhao", "SQL-Server", "qp");
            SqlConnection cn = new SqlConnection(Temp_Value.Conn);
            SqlDataAdapter da = new SqlDataAdapter(sqlstr, cn);
            da.Fill(dataSet, "bb");
            if (dataSet.Tables[0].Rows.Count < 1)
            {
                MessageBox.Show("没有数据");
                return;
            }
            //SqlDataAdapter da2 = new SqlDataAdapter("select * from customer ", cn);
            //da2.Fill(dataSet, "customer");
            //this.customerReport.OpenSubreport("Customer.rpt").SetDataSource(dataSet.Tables["customer"]);
            //上面为打开子报表
            //查看器控件所需的变量。
    
                ParameterFields paramFields = new ParameterFields();
                ParameterField paramField = new ParameterField();
                ParameterDiscreteValue discreteVal = new ParameterDiscreteValue();
                ParameterRangeValue rangeVal = new ParameterRangeValue();
                paramField.ParameterFieldName = "com_name";
                DataTable dt = DB.GetTable("select sum(sl)*sum(out_price) as hz from p_sale_t where dh='" + _dh + "'");
                string d = "";
                if (dt.Rows.Count > 0)
                {
                    d = dt.Rows[0][0].ToString();
                }
                if (d == "")
                {
                    discreteVal.Value = "";
                }
                else
                {
                    discreteVal.Value = Temp_Value.Dxje(Decimal.Parse(d.ToString()));
                }
                paramField.CurrentValues.Add(discreteVal);

                //   设置第二个离散值并将其传递给该参数。  
                //   discreteVal   变量被设置为新值,这样,以前的设置  
                //就不会被覆盖。  
                discreteVal = new ParameterDiscreteValue();
                discreteVal.Value = "com_name";
                paramField.CurrentValues.Add(discreteVal);
                paramFields.Add(paramField);
                //   第二个参数为区域值。paramField   变量  
                //被设置为新值,这样,以前的设置就不会被覆盖。  
                //   将参数字段集合放入查看器控件。  
               // customerReport.SetDataSource(dataSet.Tables[0]);
                crystalReportViewer1.ParameterFieldInfo = paramFields;
                // con();
                crystalReportViewer1.ReportSource = customerReport;
                customerReport.Refresh();
                PrintDocument prtdoc = new PrintDocument();
                string strDefaultPrinter = prtdoc.PrinterSettings.PrinterName;//取得默认的打印机名称
                customerReport.PrintOptions.PrinterName = strDefaultPrinter;

原创粉丝点击