我有一些使用 Crystal(Visual Studio 外部)创建的 Crystal Reports,现在已加载到 VS 项目中。在预览报告之前,我在报告和所有子报告中设置了这样的报告数据库信息。
var connectionInfo = new ConnectionInfo();
connectionInfo.ServerName = "192.168.x.xxx";
connectionInfo.DatabaseName = "xxxx";
connectionInfo.Password = "xxxx";
connectionInfo.UserID = "xxxx";
connectionInfo.Type = ConnectionInfoType.SQL;
connectionInfo.IntegratedSecurity = false;
TableLogOnInfo logon = table.LogOnInfo;
table.LogOnInfo.ConnectionInfo = connectionInfo;
table.ApplyLogOnInfo(logon);
最初预览时,报告显示正确,但当我转到报告预览的下一页时,我收到消息“您请求的报告需要更多信息”,并再次提示输入数据库登录信息。一旦我在这里输入它,我就不再收到提示。看来我设置的初始 ConnectionInfo 没有停留在第一页之后。
我正在使用 Crystal XI 和 Visual Studio 2008。
我发现修复 bug 的最佳方法是将问题发布到 StackOverflow,5 分钟后自己解决。不用说,我解决了这个问题。
除了在报表对象中设置所有登录信息之外,我还必须在 ASP.NET 中的 Crystal Viewer 组件中执行此操作。所以我只是写了一些这样的代码,一切正常,没有提示。
<CR:CrystalReportViewer Height="500px" ID="Viewer" runat="server" />
var connectionInfo = new ConnectionInfo();
connectionInfo.ServerName = "192.168.x.xxx";
connectionInfo.DatabaseName = "xxxx";
connectionInfo.Password = "xxxx";
connectionInfo.UserID = "xxxx";
connectionInfo.Type = ConnectionInfoType.SQL;
connectionInfo.IntegratedSecurity = false;
for (int i = 0; i < Viewer.LogOnInfo.Count; i++)
{
Viewer.LogOnInfo[i].ConnectionInfo = connectionInfo;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)