//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;