Crystal Reports - "您要求的报告需要更多信息"

Cra*_*aig 1 crystal-reports visual-studio-2008

我有一些使用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);
Run Code Online (Sandbox Code Playgroud)

报告最初预览时报告正确显示,但当我转到报告预览中的下一页时,我收到消息"您请求的报告需要更多信息",并再次提示您输入数据库登录信息.一旦我在这里输入,我就不再被提示了.我设置的初始ConnectionInfo似乎没有超过第一页.

我正在使用Crystal XI和Visual Studio 2008.

Cra*_*aig 6

我发现修复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;
}
Run Code Online (Sandbox Code Playgroud)