【问题标题】:How to return dataset and get the result from dataset in asp.net?如何返回数据集并从 asp.net 中的数据集获取结果?
【发布时间】:2014-10-07 14:33:39
【问题描述】:

如何使用asp.net中的数据集返回数据集并获取结果? 首先我有一个包含数据集方法的 WCF 类,它返回数据集结果 这是我的方法

            string conString = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
        DataSet ds = new DataSet();

        using (con = new SqlConnection(conString))
        {
            SqlCommand cmd = new SqlCommand("spViewMasterTransaction", con);
            cmd.CommandType = CommandType.StoredProcedure;

            SqlParameter parameterEarlyDate = new SqlParameter();
            parameterEarlyDate.ParameterName = "@earlyDate";
            parameterEarlyDate.Value = earlyDate;
            cmd.Parameters.Add(parameterEarlyDate);

            SqlParameter parameterLateDate = new SqlParameter();
            parameterLateDate.ParameterName = "@lateDate";
            parameterLateDate.Value = lateDate;
            cmd.Parameters.Add(parameterLateDate);


            con.Open();

            SqlDataAdapter da = new SqlDataAdapter();
            da.SelectCommand = cmd;
            da.Fill(ds, "Master");
        }

        return ds;

它返回了一个数据集结果,我在我的datagridview中使用它,但我想在我的水晶报告中使用它,当然我不能像在winform datagridview中那样使用它,我想我必须抓住从我的 wcf 返回的数据集值并将其存储在我的客户端数据集中.. 怎么做?因为asp.net没有像winform这样的数据集组件?

【问题讨论】:

    标签: c# asp.net wcf crystal-reports dataset


    【解决方案1】:

    使用 CrystalReports,您需要使用 DataTables 而不是 DataSets

    你可以在你的 cs 文件上做这样的事情:

    using CrystalDecisions.CrystalReports.Engine;
    using CrystalDecisions.Shared;
    
        ReportDocument rptDoc = new ReportDocument();
    
        protected void Page_Init(object sender, EventArgs e)
        {
            try
            {
                // Get the DataTable form the DataSet               
                DataTable dt = yourDataSet.Tables[0];  // Or use the table name like this yourDataSet.Tables["TableName"];
    
                string reportPath = Server.MapPath("~/App_Data/CrystalReport1.rpt");
                rptDoc.Load(reportPath);
                rptDoc.SetDataSource(dt);
                CrystalReportViewer1.ReportSource = rptDoc;
            }
            catch (Exception ex)
            {
                lblErrMsg.Text = ex.Message;
            }
        }
    
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                // Clear error message if any.
                lblErrMsg.Text = "";
    
                // Crystal Report Fill
                DataTable dt = yourDataSet.Tables[0];
                rptDoc.SetDataSource(dt);
            }
            catch (Exception ex)
            {
                lblErrMsg.Text = ex.Message;
            }
        }
    
        protected void Page_UnLoad(object sender, EventArgs e)
        {
            try
            {
                this.CrystalReportViewer1.Dispose();
                this.CrystalReportViewer1 = null;
                rptDoc.Close();
                rptDoc.Dispose();
                rptDoc = null;
                GC.Collect();
            }
            catch (Exception ex)
            {
                lblErrMsg.Text = ex.Message;
            }
        }
    

    并在您的 aspx 文件中添加如下内容:

        <%@ Register Assembly="CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" Namespace="CrystalDecisions.Web" TagPrefix="CR" %>
    
        <CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server" 
            AutoDataBind="True" DisplayStatusbar="False" 
            EnableDatabaseLogonPrompt="False" EnableDrillDown="False" 
            EnableParameterPrompt="False" EnableTheming="False" EnableToolTips="False" 
            GroupTreeStyle-ShowLines="False" HasDrilldownTabs="False" 
            HasDrillUpButton="False" HasGotoPageButton="False" 
            HasPageNavigationButtons="False" HasSearchButton="False" Height="894px" 
            SeparatePages="False" ToolPanelView="None" Width="918px" 
            GroupTreeImagesFolderUrl="" ReportSourceID="CrystalReportSource1" 
            ToolbarImagesFolderUrl="" ToolPanelWidth="200px" 
            HasToggleGroupTreeButton="False" HasToggleParameterPanelButton="False" />    
        <CR:CrystalReportSource ID="CrystalReportSource1" runat="server">
            <Report FileName="App_Data\CrystalReport1.rpt">
            </Report>
        </CR:CrystalReportSource>
    

    希望对你有帮助。

    巴勃罗

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-29
      • 2010-12-31
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多