Monday 6 August 2012

crystal report in asp.net

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.CrystalReports.Engine.Migration;
using CrystalDecisions.ReportSource;
using CrystalDecisions.CrystalReports;
using CrystalDecisions.Shared;
using CrystalDecisions.Reporting;
using CrystalDecisions.ReportAppServer;
using CrystalDecisions.Web;

namespace Billing_System.Report
{
    public partial class Pachinglist_Report : System.Web.UI.Page
    {
        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["BillingConnectionString"].ToString());
       
        TableLogOnInfo Info = new TableLogOnInfo();
        ConnectionInfo ConnInfo = new ConnectionInfo();
        string PackingId,MsName;

        protected void Page_Init(object sender, EventArgs e)
        {
         
            PackingId = Request.QueryString["PackingID"];
            MsName = Request.QueryString["MsName"];
          
        }


        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
              DataSet ds = new DataSet();
                DataTable dt1 = MyPackingList().Copy();
                DataTable dt2 = SpPackingList().Copy();
              
              // DataTable dt3 = Summary_Vw().Copy();

               
                ds.Tables.Add(dt1);
                ds.Tables.Add(dt2);
             // ds.Tables.Add(dt3);
               

                ReportDocument myreport = new ReportDocument();
                myreport.Load(Server.MapPath("CrystalReport2.rpt"));


                foreach (CrystalDecisions.CrystalReports.Engine.Table table in myreport.Database.Tables)
                {
                    TableLogOnInfo TInfo = new TableLogOnInfo();
                    ConnectionInfo CInfo = new ConnectionInfo();
                   
                    TInfo.ConnectionInfo.DatabaseName = "Billing";
                    TInfo.ConnectionInfo.ServerName = ".";
                    TInfo.ConnectionInfo.UserID = "sa";
                    TInfo.ConnectionInfo.Password = "server";

                    CInfo.DatabaseName = "Billing";
                    CInfo.ServerName = ".";
                    CInfo.UserID = "sa";
                    CInfo.Password = "server";

                    table.LogOnInfo.ConnectionInfo.ServerName = ".";
                    table.LogOnInfo.ConnectionInfo.DatabaseName = "Billing";
                    table.LogOnInfo.ConnectionInfo.UserID = "sa";
                    table.LogOnInfo.ConnectionInfo.Password = "server";
                
                }


             
                DataSet ddd = new DataSet();
                DataTable dddt=Summary_Vw().Copy();
            
                ds.Tables.Add(dddt);
                foreach (CrystalDecisions.CrystalReports.Engine.Section section in myreport.ReportDefinition.Sections)
                {
                   
                  
                    foreach (CrystalDecisions.CrystalReports.Engine.ReportObject reportObject in section.ReportObjects)
                    {
                        if (reportObject.Kind == ReportObjectKind.SubreportObject)
                        {
                            SubreportObject subReport = (SubreportObject)reportObject;
                            ReportDocument subDocument = subReport.OpenSubreport(subReport.SubreportName);
                           
                            foreach (CrystalDecisions.CrystalReports.Engine.Table stable in subDocument.Database.Tables)
                            {
                                subDocument.SetDataSource(ds);

                                TableLogOnInfo TInfo = new TableLogOnInfo();
                                ConnectionInfo CInfo = new ConnectionInfo();

                                //stable.SetDataSource(Summary_Vw().Copy());
                                stable.LogOnInfo.ConnectionInfo.ServerName = ".";
                                stable.LogOnInfo.ConnectionInfo.DatabaseName = "Billing";
                                stable.LogOnInfo.ConnectionInfo.UserID = "sa";
                                stable.LogOnInfo.ConnectionInfo.Password = "server";

                                TInfo.ConnectionInfo.DatabaseName = "Billing";
                                TInfo.ConnectionInfo.ServerName = ".";
                                TInfo.ConnectionInfo.UserID = "sa";
                                TInfo.ConnectionInfo.Password = "server";

                                CInfo.DatabaseName = "Billing";
                                CInfo.ServerName = ".";
                                CInfo.UserID = "sa";
                                CInfo.Password = "server";
                         
                               stable.LogOnInfo.ConnectionInfo = CInfo;
                              stable.ApplyLogOnInfo(TInfo);

                        
                               
                            }
                        }
                    }
                }


                myreport.SetDataSource(ds);
             
                 CrystalReportViewer1.ReportSource = myreport;


               
            }
            catch (Exception)
            {
               
                //throw;
            }

        }
        protected DataTable MyPackingList()
        {
            string Query = "SELECT * FROM dbo.PackingList WHERE PackingId='" + PackingId + "' AND MsName='" + MsName + "'";
            SqlDataAdapter da = new SqlDataAdapter(Query, con);
            DataSet ds = new DataSet();
            da.Fill(ds, "PackingList");
            DataTable Pack = ds.Tables[0];
            return Pack;
        }
        protected DataTable SpPackingList()
        {
            string Query = "SELECT DISTINCT SpId,Specification FROM dbo.PackingList WHERE PackingId='" + PackingId + "' AND MsName='" + MsName + "'";
            SqlDataAdapter da = new SqlDataAdapter(Query, con);
            DataSet ds = new DataSet();
            da.Fill(ds, "SpecificationInfo");
            DataTable SpecificationInfo = ds.Tables[0];
            return SpecificationInfo;
        }
        private DataTable Summary_Vw()
        {
            string Query = "SELECT * FROM pack_Summary_Vw WHERE PackingId='" + PackingId + "' AND MsName='" + MsName + "'";
            SqlDataAdapter da = new SqlDataAdapter(Query, con);
            DataSet ds = new DataSet();
            da.Fill(ds, "Pack_Summary_VW");
            DataTable Summary_Vw = ds.Tables[0];
            return Summary_Vw;
        }
        private void SetLogonInfo()
        {
            try
            {
                //Info.ConnectionInfo.ServerName = "208.91.198.196";
                //Info.ConnectionInfo.DatabaseName = "deepakm_music";
                //Info.ConnectionInfo.UserID = "deepakm_music";
                //Info.ConnectionInfo.Password = "default123";
                Info.ConnectionInfo.ServerName = ".";
                Info.ConnectionInfo.DatabaseName = "Billing";
                Info.ConnectionInfo.UserID = "sa";
                Info.ConnectionInfo.Password = "server";
            }
            catch (Exception e)
            {

            }
        }

        protected void CrystalReportViewer1_Init(object sender, EventArgs e)
        {
            //con.Open();
            //SetLogonInfo();
        }

    }
}

No comments:

Post a Comment