วิธี Report .RDLC to ไฟล์ PDF ถ้ามีฐานข้อมุลแล้ว เชื่อมต่อฐานข้อมูลกับ data set แล้ว มีฟอมรีพอท RDLC แล้ว ฟังก์ชั่นที่ใช้เขียน
Code (C#)
Warning[] warnings;
string[] streamids;
string mimeType;
string encoding;
string filenameExtension;
byte[] bytes = reportViewer.LocalReport.Render(
"PDF", null, out mimeType, out encoding, out filenameExtension,
out streamids, out warnings);
using (FileStream fs = new FileStream("output.pdf", FileMode.Create))
{
fs.Write(bytes, 0, bytes.Length);
}
Date :
2016-01-19 13:00:08
By :
mr.win
ฟังก์ชันนี้ทำให้ โหลดข้อมูล เปน PDF มาใว้ในเครื่องเลย รึต้องเขียนกำกับอีกทีครับ
Date :
2016-01-19 13:05:22
By :
witthawas01
error คำว่า reportViewer ต้องใช้ Tools Report viewer รึต้องประกาศ using เพิ่มไหมครับ แต่ using ผมมีประกาศ using Microsoft.Reporting.WebForms; ใว้แล้วครับ
Date :
2016-01-19 13:45:14
By :
witthawas01
Code (C#)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Net;
using System.Data.SqlClient;
using System.Configuration;
using System.Data;
using Microsoft.Reporting.WebForms;
using System.Text;
using System.IO;
using System.Web.Configuration;
using PdfSharp.Drawing;
using PdfSharp.Pdf;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
PdfDocument DocPDF = new PdfDocument();
PdfPage objPage = DocPDF.AddPage();
XGraphics gfx = XGraphics.FromPdfPage(objPage);
XFont font1 = new XFont("Verdana", 15, XFontStyle.Bold);
DataSet ds = new DataSet();
DataTable dt = new DataTable();
SqlConnection Conn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbConn"].ConnectionString) ;
SqlCommand command = new SqlCommand();
Conn.Open();
string SQL = "SELECT * FROM tb_TRAIN";
SqlDataReader rs = null;
SqlDataAdapter dtapter = new SqlDataAdapter(SQL, Conn);
command.CommandText = SQL;
command.Connection = Conn;
rs = command.ExecuteReader();
LocalReport rpt = new LocalReport();
rpt.ReportPath = "Report.rdlc";
rpt.EnableExternalImages = true;
rpt.EnableHyperlinks = true;
rpt.DataSources.Clear();
dt.Columns.Add("empid");
dt.Columns.Add("startdate");
dt.Columns.Add("enddate");
dt.Columns.Add("expdate");
dt.Columns.Add("result");
dt.Columns.Add("updater");
dt.Columns.Add("update");
dt.Columns.Add("certid");
dt.Columns.Add("day");
dt.Columns.Add("hour");
DataRow dr = dt.NewRow();
while (rs.Read())
{
dr = dt.NewRow();
dr["empid"] = rs[0].ToString();
dr["startdate"] = rs["fl_startdate"].ToString();
dr["enddate"] = rs["fl_enddate"].ToString() ;
dr["expdate"] = rs["fl_expdate"].ToString();
dr["result"] = rs["fl_result"].ToString();
dr["updater"] = rs["fl_updater"].ToString();
dr["update"] = rs["fl_update"].ToString();
dr["certid"] = rs["fl_certid"].ToString();
dr["day"] = rs["fl_day"].ToString();
dr["hour"] = rs["fl_hour"].ToString();
dt.Rows.Add(dr);
}
rs.Close();
rs = null;
Conn.Close();
rpt.DataSources.Add(new ReportDataSource("DataSet1", dt));
rpt.ReportPath = "Report.rdlc";
rpt.Refresh();
String FileName = "MyPDF/PdfDoc.pdf";
DocPDF.Save(Server.MapPath(FileName));
DocPDF.Close();
DocPDF = null;
this.lblText.Text = "PDF Created <a href=" + FileName + ">click here</a> to view";
}
}
รบกวนผู้รู้ช่วยทีครับ มันรีพอทออกมาเปนหน้าว่าง ผมตกหล่นตรงไหนไปใช่ไหมครับ
ฐานข้อมูลประกาศที่ ฟังก์ชั่นนี้ครับ
Code (C#)
SqlConnection Conn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbConn"].ConnectionString) ;
เขียนใน wep.config
<connectionStrings>
<add name="dbConn" connectionString="Data Source=192.168.0.3; Initial Catalog=DB_POWERSTAFF_EGAT; user id=sa; Password=1234;" providerName="System.Data.SqlClient" />
</connectionStrings>
Date :
2016-01-21 17:43:26
By :
witthawas01
Load balance : Server 01