日期:2014-05-20 浏览次数:21558 次
using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; using System.IO; public partial class RptCenter_CrystalReport_OrderUtitityPushRpt : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { string orderNo=Request.QueryString["OrderNo"]; DataSet ds = SqlHelper.ExecuteDataSet(CommandType.StoredProcedure, "rpt_SaleQuoteModul", new SqlParameter("@OrderNo", orderNo)); DataSet FillDetaSet = this.defineDataSet(); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { addrow(ds, FillDetaSet, i); } fillRpt(FillDetaSet); } private DataSet defineDataSet() { //定义填充DataSet与SaleQuoteModulRpt.xsd呼应 DataSet FillDetaSet = new DataSet(); FillDetaSet.Tables.Add("dt");//与SaleQuoteModulRpt.xsd table同名 FillDetaSet.Tables[0].Columns.Add("CustomerNo", typeof(System.String)); FillDetaSet.Tables[0].Columns.Add("CustomerName", typeof(System.String)); FillDetaSet.Tables[0].Columns.Add("Salesman", typeof(System.String)); FillDetaSet.Tables[0].Columns.Add("SalesmanName", typeof(System.String)); FillDetaSet.Tables[0].Columns.Add("OrderNo", typeof(System.String)); FillDetaSet.Tables[0].Columns.Add("QuoteDate", typeof(System.DateTime)); FillDetaSet.Tables[0].Columns.Add("ValidDate", typeof(System.DateTime)); FillDetaSet.Tables[0].Columns.Add("DeliveryTerm", typeof(System.String)); FillDetaSet.Tables[0].Columns.Add("PaymentTerm", typeof(System.String)); FillDetaSet.Tables[0].Columns.Add("State", typeof(System.String)); FillDetaSet.Tables[0].Columns.Add("StatutoryFee", typeof(System.String)); FillDetaSet.Tables[0].Columns.Add("TransportType", typeof(System.String)); FillDetaSet.Tables[0].Columns.Add("NoteText", typeof(System.String)); FillDetaSet.Tables[0].Columns.Add("Creater", typeof(System.String)); FillDetaSet.Tables[0].Columns.Add("PartNo", typeof(System.String)); FillDetaSet.Tables[0].Columns.Add("PartDesc", typeof(System.String)); FillDetaSet.Tables[0].Columns.Add("PartModel", typeof(System.String)); FillDetaSet.Tables[0].Columns.Add("UnitMeas", typeof(System.String)); FillDetaSet.Tables[0].Columns.Add("UnitPrice", typeof(System.Decimal)); FillDetaSet.Tables[0].Columns.Add("PayType", typeof(System.String)); FillDetaSet.Tables[0].Columns.Add("NoteTextLine", typeof(System.String)); FillDetaSet.Tables[0].Columns.Add("PicName", typeof(System.String)); FillDetaSet.Tables[0].Columns.Add("FilePath", typeof(System.String)); FillDetaSet.Tables[0].Columns.Add("Photograph", typeof(System.Byte[])); FillDetaSet.Tables[0].Columns.Add("EntFullName", typeof(System.String)); FillDetaSet.Tables[0].Columns.Add("Address", typeof(System.String)); FillDetaSet.Tables[0].Columns.Add("Tel", typeof(System.String)); FillDetaSet.Tables[0].Columns.Add("Fax", typeof(System.String)); return FillDetaSet; } public void addrow(DataSet ds, DataSet FillDetaSet, int i) { DataRow row = FillDetaSet.Tables[0].NewRow(); row["CustomerNo"] = ds.Tables[0].Rows[i]["CustomerNo"].ToString(); row["CustomerName"] = ds.Tables[0].Rows[i]["CustomerName"].ToString(); row["Salesman"] = ds.Tables[0].Rows[i]["Salesman"].ToString(); row["SalesmanName"] = ds.Tables[0].Rows[i]["SalesmanName"].ToString(); row["OrderNo"] = ds.Tables[0].Rows[i]["OrderNo"].ToString(); row["QuoteDate"] =(DateTime)ds.Tables[0].Rows[i]["QuoteDate"]; row["ValidDate"] = (DateTime)ds.Tables[0].Rows[i]["ValidDate"]; row["DeliveryTerm"] = ds.Tables[0].Rows[i]["DeliveryTerm"].ToString(); row["PaymentTerm"] = ds.Tables[0].Rows[i]["PaymentTerm"].ToString(); row["State"] = ds.Tables[0].Rows[i]["State"].ToString(); row["StatutoryFee"] = ds.Tables[0].Rows[i]["StatutoryFee"].ToString(); row["TransportType"] = ds.Tables[0].Rows[i]["TransportType"].ToString(); row["NoteText"] = ds.Tables[0].Rows[i]["NoteText"].ToString(); row["Creater"] = ds.Tables[0].Rows[i]["Creater"].ToString(); row["PartNo"] = ds.Tables[0].Rows[i]["PartNo"].ToString(); row["PartDesc"] = ds.Tables[0].Rows[i]["PartDesc"].ToString(); row["PartModel"] = ds.Tables[0].Rows[i]["PartModel"].ToString(); row["UnitMeas"] = ds.Tables[0].Rows[i]["UnitMeas"].ToString(); row["UnitPrice"] = (Decimal)ds.Tables[0].Rows[i]["UnitPrice"]; row["PayType"] = ds.Tables[0].Rows[i]["PayType"].ToString(); row["NoteTextLine"] = ds.Tables[0].Rows[i]["NoteTextLine"].ToString(); row["PicName"] = ds.Tables[0].Rows[i]["PicName"].ToString(); row["FilePath"] = ds.Tables[0].Rows[i]["FilePath"].ToString(); if (ds.Tables[0].Rows[i]["PicName"].ToString() != "") { try { string path = Server.MapPath(ds.Tables[0].Rows[i]["FilePath"].ToString()); FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read); BinaryReader br = new BinaryReader(fs); row["Photograph"] = br.ReadBytes((int)br.BaseStream.Length); fs.Close(); } catch(Exception ex) { string path = Server.MapPath(@"~\UpLoad\Photograph.jpg"); FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read); BinaryReader br = new BinaryReader(fs); row["Photograph"] = br.ReadBytes((int)br.BaseStream.Length); fs.Close(); } } else { row["Photograph"] = DBNull.Value; } row["EntFullName"] = ds.Tables[0].Rows[i]["EntFullName"].ToString(); row["Address"] = ds.Tables[0].Rows[i]["Address"].ToString(); row["Tel"] = ds.Tables[0].Rows[i]["Tel"].ToString(); row["Fax"] = ds.Tables[0].Rows[i]["Fax"].ToString(); FillDetaSet.Tables[0].Rows.Add(row); } public void fillRpt(DataSet ds) { ds.ReadXmlSchema(Server.MapPath("~/RptCenter/RptModul/SaleQuoteModulRpt.xsd")); crs.ReportDocument.Load(Server.MapPath("SaleQuoteModulPush.rpt")); crs.ReportDocument.SetDataSource(ds); crs.DataBind(); crv.ReportSource = crs; crv.DataBind(); ds.Dispose(); } }