|
|
|
กด Next Page Crystal Report แล้วมีแล้วมีหน้าต่างให้ใส่ parameter |
|
|
|
|
|
|
|
กด Next page แล้วจะมีหน้าต่างแบบนี้ขึ้นมาอ่ะครับ
Code (C#)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Microsoft.VisualBasic;
using System.Collections;
using System.Data;
using System.Diagnostics;
using CrystalDecisions.CrystalReports.Engine;
using System.Data.SqlClient;
using System.Text;
using CrystalDecisions.Shared;
namespace Helpdesk
{
public partial class report_jobm : System.Web.UI.Page
{
oCenter oC = new oCenter();
protected void Page_Load(object sender, EventArgs e)
{
ConfigureCrystalReports();
}
private ReportDocument rpt;
void ConfigureCrystalReports()
{
rpt = new ReportDocument();
rpt.Load(Server.MapPath("report4.rpt"));
TableLogOnInfo crtableLogoninfo = new TableLogOnInfo();
ConnectionInfo crConnectionInfo = new ConnectionInfo();
Tables CrTables;
crConnectionInfo.ServerName = "TOEY-PC";
crConnectionInfo.DatabaseName = "Helpdesk";
crConnectionInfo.UserID = "sa";
crConnectionInfo.Password = "password";
CrTables = rpt.Database.Tables;
foreach (CrystalDecisions.CrystalReports.Engine.Table CrTable in CrTables)
{
crtableLogoninfo = CrTable.LogOnInfo;
crtableLogoninfo.ConnectionInfo = crConnectionInfo;
CrTable.ApplyLogOnInfo(crtableLogoninfo);
}
rpt.SetParameterValue("startdate", Session["startdate"].ToString());
rpt.SetParameterValue("enddate", Session["enddate"].ToString());
this.CrystalReportViewer1.ReportSource = rpt;
CrystalReportViewer1.PrintMode = CrystalDecisions.Web.PrintMode.ActiveX;
Session["ReportSource1"] = rpt;
}
protected override void OnUnload(EventArgs e)
{
base.OnUnload(e);
try
{
if (rpt != null)
{
rpt.Close();
rpt.Dispose();
GC.Collect();
}
}
catch (Exception ex)
{
// Exception
}
}
protected void rptCrystal_Unload(object sender, EventArgs e)
{
try
{
if (rpt != null)
{
rpt.Close();
rpt.Dispose();
GC.Collect();
}
}
catch (Exception ex)
{
// Exception
}
}
}
}
แต่พอใส่โค้ดนี้เข้าไปเพิ่ม ไม่ขึ้น popup แต่ไปได้แค่หน้า 2
Code (C#)
protected void Page_Init(object sender, EventArgs e)
{
if (!IsPostBack)
{
CrystalDecisions.CrystalReports.Engine.ReportDocument crystalReportDocument
= new CrystalDecisions.CrystalReports.Engine.ReportDocument();
crystalReportDocument.Load(Server.MapPath("report4.rpt"));
crystalReportDocument.SetDatabaseLogon("sa", "pa2ssword");
CrystalReportViewer1.ReportSource = crystalReportDocument;
Session["ReportDocument"] = crystalReportDocument;
}
else
{
ReportDocument crystalReportDocument = (ReportDocument)Session["ReportDocument"];
CrystalReportViewer1.ReportSource = crystalReportDocument;
}
}
Tag : .NET, Ms SQL Server 2008, Crystal Report, Reporting Service, C#, VS 2010 (.NET 4.x)
|
|
|
|
|
|
Date :
2015-11-27 21:59:09 |
By :
toey1 |
View :
959 |
Reply :
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คือผมแปลกใจนะครับ ปกติแล้วการเรียก Crystal Report ขึ้นมาแสดงผล มันจะทำงานแค่ครั้งเดียว ที่เหลือจะเป็นหน้าที่ของ Crystal Report แล้วว่าจะทำอะไรต่อ เช้นไปหน้าอื่น ๆ แต่ทำไมมันถึงกลับมาทำงานที่ Page_Load() อีกรอบครับ
|
|
|
|
|
Date :
2015-11-28 14:03:45 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แบบนี้ต้องให้ผมไปตรวจสอบอะไรบ้างครับ ผมติดแต่ตรงนี้ หาข้อมูลลองแก้ก็ยังไม่ได้เลยรบกวนด้วยจริงๆ
|
|
|
|
|
Date :
2015-11-28 14:58:50 |
By :
toey1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|