我有一个Asp.net表单与水晶报表查看器控制它。水晶报表数据库登录失败错误,当转到下一页
在Page_Load事件中,我正在加载一个报告&从数据库设置数据源。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataTable dt= Custom.StaticGeneral.GetDataTable("Select top 100 * From CustVend order by Code desc");
dt.TableName = "CustVend";
dt.AcceptChanges();
DataSet ds = new DataSet();
ds.Tables.Add(dt);
ds.AcceptChanges();
ReportDocument myReportDocument;
myReportDocument = new ReportDocument();
myReportDocument.Load(Server.MapPath("CrystalReport1.rpt"));
myReportDocument.SetDataSource(ds);
CrystalReportViewer1.ReportSource = myReportDocument;
//CrystalReportViewer1.DataBind(); Also Tried This
CrystalReportViewer1.DisplayToolbar = true;
}
}
这是相关的HTML
<CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server"
GroupTreeImagesFolderUrl="" Height="1202px"
ReuseParameterValuesOnRefresh="True" EnableDatabaseLogonPrompt="false"
ToolbarImagesFolderUrl="" ToolPanelWidth="200px" Width="1104px" />
我已经设置EnableDatabaseLogonPrompt =“假”,因为我提供我自己的数据源日志&问题中并不存在。
当页面载入我的数据时,我可以看到报告。 然而,当我选择“转到下一页” Crystal报表查看器控件的链接,错误会弹出
错误:“数据库登录失败。”
看来我错过了什么(可能重新绑定数据集/报告),但不能看着办吧......
我可以通过注释掉如果线路解决了这个错误(!的IsPostBack) 。 但它是再次查询数据库的正确方法&每次用户更改页面时加载整个报告?
还是有简单/更容易可供选择..
如果问题仍未解决,你可以检查HTTP:// stackoverflow.com/a/33304564/5104101 – haraman