الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

crystal report btween tow dates asp.net

بدأه MR.SP!DeR في 19 فبراير 2014 · 3 رد · 514 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله تعالي وبركاته
لدي استفسارين ,,
1- عرض التقرير .. في مشروع windows application
كنت بعمل التقارير بالكود التالي

        Try

            Dim rpt As New rptSales() 'The report I created.
            Dim myConnection As SqlConnection
            Dim MyCommand As New SqlCommand()
            Dim myDA As New SqlDataAdapter()
            Dim myDS As New SI_DBDataSet 'The DataSet I created.


            myConnection = New SqlConnection("Data Source=.\SqlExpress; Integrated Security=True; AttachDbFilename=|DataDirectory|\SI_DB.mdf; User Instance=true;")
            MyCommand.Connection = myConnection
            MyCommand.CommandText = "select * from Billinfo where CustomerName= '" & cmbCustomerName.Text & "' order by BillingDate"
           
            MyCommand.CommandType = CommandType.Text
            myDA.SelectCommand = MyCommand
            myDA.Fill(myDS, "Billinfo")
            rpt.SetDataSource(myDS)
            CrystalReportViewer2.ReportSource = rpt
        Catch ex As Exception
            MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End Try

عند استخدامي لنفس الكود في عرض التقرير في  asp.net
تظهر لي مشكلة
عند تفريغ الداتاست ل crystal report data source
rpt.SetDataSource(myDS)
            CrystalReportViewer2.ReportSource = rpt
ان الكريستال ريبورت لا يدعم تفريغ الداتا ست في الداتا سورس في الويب ابليكشن ..
ارجو الافادة ..

اذا في حد عندو كود معين يفيدني او حلو ..
2- التقرير بين تاريخين ...
كنت استخدم هذا الكود
 

        Try

            Dim rpt As New rptSales() 'The report you created.
            Dim myConnection As SqlConnection
            Dim MyCommand As New SqlCommand()
            Dim myDA As New SqlDataAdapter()
            Dim myDS As New SI_DBDataSet 'The DataSet you created.


            myConnection = New SqlConnection("Data Source=.\SqlExpress; Integrated Security=True; AttachDbFilename=|DataDirectory|\SI_DB.mdf; User Instance=true;")
            MyCommand.Connection = myConnection
            MyCommand.CommandText = "select * from Billinfo where BillingDate between @date1 and @date2 order by BillingDate"
            MyCommand.Parameters.Add("@date1", SqlDbType.DateTime, 30, "BillingDate").Value = dtpInvoiceDateFrom.Value.Date
            MyCommand.Parameters.Add("@date2", SqlDbType.DateTime, 30, "BillingDate").Value = dtpInvoiceDateTo.Value.Date

            MyCommand.CommandType = CommandType.Text
            myDA.SelectCommand = MyCommand
            myDA.Fill(myDS, "Billinfo")
            rpt.SetDataSource(myDS)
            CrystalReportViewer1.ReportSource = rpt
        Catch ex As Exception
            MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End Try

اظنها نفس المشكلة في تفريغ الداتا ست لكريستال ريبورت داتا سورس ,

في انتظار ارائكم ...
ومشكور مقدما

#2

استخدم هذا الكود استخراج التقرير علي شكل pdf افضل في العرض ولكن هو بسي شاب

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CrystalDecisions.Shared;
using CrystalDecisions.CrystalReports.Engine;
using System.Data.SqlClient;
using System.Configuration;



        try
        {
            ReportDocument crRep = new ReportDocument();
            crRep.Load(Session["reportPath"].ToString());

            if (Session["RecordSelectionFormula"].ToString() != "0")
                crRep.RecordSelectionFormula = Session["RecordSelectionFormula"].ToString();

            SqlConnectionStringBuilder csbDb = new SqlConnectionStringBuilder(ConfigurationManager.ConnectionStrings["ConnectionString"].ToString());
            Tables crTables;
            TableLogOnInfo crTableLogOnInfo;
            ConnectionInfo crConnectionInfo = new ConnectionInfo();
            crConnectionInfo.ServerName = csbDb.DataSource.ToString();
            crConnectionInfo.DatabaseName = csbDb.InitialCatalog.ToString();
            crConnectionInfo.UserID = csbDb.UserID.ToString();
            crConnectionInfo.Password = csbDb.Password.ToString();
            crTables = crRep.Database.Tables;
            foreach (CrystalDecisions.CrystalReports.Engine.Table crTable in crTables)
            {
                string x = crTable.Name;
                crTableLogOnInfo = crTable.LogOnInfo;
                crTableLogOnInfo.ConnectionInfo = crConnectionInfo;
                crTable.ApplyLogOnInfo(crTableLogOnInfo);
            }

            crRep.SetParameterValue("@pnSocialGovernorateCode", Session["ddlGov"].ToString());
            crRep.SetParameterValue("@pnLevelCode", Session["ddlLevel"].ToString());

            crRep.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, false , "export");

            Response.ClearContent();
            Response.ClearHeaders();
            Response.ContentType = "text/richtext";
            Response.Flush();
            Response.Close();

            crRep.Close();
            crRep.Dispose();
        }
        catch (Exception EX) { Label1.Text = EX.Message.ToString(); }

تم تعديل هذه المشاركة بواسطة KARIMSOFT في 20 فبراير 2014 في 22:29

#3

مشكور علي الرد اخي بس ارجو التوضيح اكثر ..اذا امكن

#4

اتمني هذا الشرح يفي بالغرض

//مسار التقرير علي السرفير 
ReportDocument crRep = new ReportDocument();
crRep.Load(Session["reportPath"].ToString());

//اذا كان في فرز علي التقرير
if (Session["RecordSelectionFormula"].ToString() != "0")
  crRep.RecordSelectionFormula = Session["RecordSelectionFormula"].ToString();

//قرائة باينات الخادم
SqlConnectionStringBuilder csbDb = new SqlConnectionStringBuilder(ConfigurationManager.ConnectionStrings["ConnectionString"].ToString());

//ارسال بيانات الخادم الي التقرير
Tables crTables;
            TableLogOnInfo crTableLogOnInfo;
            ConnectionInfo crConnectionInfo = new ConnectionInfo();
            crConnectionInfo.ServerName = csbDb.DataSource.ToString();
            crConnectionInfo.DatabaseName = csbDb.InitialCatalog.ToString();
            crConnectionInfo.UserID = csbDb.UserID.ToString();
            crConnectionInfo.Password = csbDb.Password.ToString();
            crTables = crRep.Database.Tables;
            foreach (CrystalDecisions.CrystalReports.Engine.Table crTable in crTables)
            {
                string x = crTable.Name;
                crTableLogOnInfo = crTable.LogOnInfo;
                crTableLogOnInfo.ConnectionInfo = crConnectionInfo;
                crTable.ApplyLogOnInfo(crTableLogOnInfo);
            }

//ارسال بيانات المتغيرات الي التقرير
crRep.SetParameterValue("@pnSocialGovernorateCode", Session["ddlGov"].ToString());
crRep.SetParameterValue("@pnLevelCode", Session["ddlLevel"].ToString());

//تصدير التقرير الي pdf
crRep.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, false , "export");

            Response.ClearContent();
            Response.ClearHeaders();
            Response.ContentType = "text/richtext";
            Response.Flush();
            Response.Close();

            crRep.Close();
            crRep.Dispose();

مواضيع مشابهة