CSharp - crystalReportViewer未显示正确值

  显示原文与译文双语对照的内容
0 0

我在 水晶报表 设计器版本 14中创建了一个简单报告,它由两个表组成,其中只有一个从一个到另一个的直接链接。 在设计器中运行报表时,在 水晶报表 查看器中运行报表时,会得到不同的值。 我以为它会在某些地方发现数据但报告设置不存储数据。


 private void btnLoad_Click(object sender, EventArgs e)
 {
 reportDocu = new ReportDocument();

 TableLogOnInfo tableLogoninfo = new TableLogOnInfo();
 ConnectionInfo connectionInfo = new ConnectionInfo();
 Tables CrTables;


 reportDocu.Load(@"Inventory.rpt");

 var crTables = reportDocu.Database.Tables;
 connectionInfo.UserID ="user";
 connectionInfo.Password ="pass";

 CrTables = reportDocu.Database.Tables;
 foreach (CrystalDecisions.CrystalReports.Engine.Table CrTable in CrTables)
 {
 tableLogoninfo = CrTable.LogOnInfo;
 tableLogoninfo.ConnectionInfo = connectionInfo;
 CrTable.ApplyLogOnInfo(tableLogoninfo);
 }


 crystalReportViewer1.ReportSource = reportDocu;

 crystalReportViewer1.Update();
 crystalReportViewer1.Refresh();
 }

我已经查看报告,我已经选择了( 在 vs 中使用设计器) 设计- 默认设置- 报告丢弃报告中保存的数据。

报告使用了一个用于i 系列的ODBC

我不知道报告运行时的数据是从哪里来的?

时间: 原作者:

0 0

应使用数据集并将表拖动到数据集中

之后你应该尝试这个代码我总是使用这个代码:-


using System.Data;
using System.Data.SqlClient;
using CrystalDecisions.CrystalReports.Engine;

public partial class Student_Report : System.Web.UI.Page
{
 SqlConnection cn;
//SqlCommand cmd;
 SqlDataAdapter da;
 DataSet ds;
 protected void Page_Load(object sender, EventArgs e)
 {
 string str = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString.ToString();
 cn = new SqlConnection(str);
 cn.Open();
 da = new SqlDataAdapter("select * from StudentReg_mst", cn);
 ds = new DataSet();
 da.Fill(ds,"StudentReg_mst");
 ReportDocument rd = new ReportDocument();
 rd.Load(Server.MapPath("StudentReport.rpt"));
 rd.SetDataSource(ds);
 CrystalReportViewer1.ReportSource = rd;
 CrystalReportViewer1.DataBind();
 }

希望这对你有帮助

...