在使用到CrystalReportViewer的时候,有个选项是关于数据库连接的,每次在Web页面浏览的时候只要有关于数据库相关的,都首先需要先登陆数据库,那么我们能不能把这个讨厌的窗口去掉了呢?直接每次打开页面的时候就通过认证,然后就可以直接显示报表数据。

Default.aspx
-----------------------------------------------------------------------
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %>
<%@ Register Assembly="CrystalDecisions.Web, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" Namespace="CrystalDecisions.Web" TagPrefix="CR" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
    <link href="/aspnet_client/System_Web/2_0_50727/CrystalReportWebFormViewer3/css/default.css"
        rel="stylesheet" type="text/css" />
</head>
<body>
    <form >

private void Page_Init(object sender, EventArgs e)
    {
        ConfigCrystalReports();
    }
    private void ConfigCrystalReports()
    {
        ConnectionInfo ConnectionInfo = new ConnectionInfo();
        ConnectionInfo.ServerName = "服务器名称或IP";
        ConnectionInfo.DatabaseName = "数据库名称";
        ConnectionInfo.UserID = "登陆帐号";
        ConnectionInfo.Password = "登陆密码";
        string ReportPath = Server.MapPath("CrystalReport1.rpt(这个是你的报表名称)");
        CrystalReportViewer1.ReportSource = ReportPath;
        SetDbLoginForReport(ConnectionInfo);
    }

    private void SetDbLoginForReport(ConnectionInfo ConnectionInfo)
    {
        TableLogOnInfos tableLogOnInfos = CrystalReportViewer1.LogOnInfo;
        foreach (TableLogOnInfo tableLogOnInfo in tableLogOnInfos)
        {
            tableLogOnInfo.ConnectionInfo = ConnectionInfo;
        }
    }

相关文章:

  • 2021-04-08
  • 2021-07-04
  • 2021-10-09
  • 2022-01-26
  • 2022-12-23
  • 2022-12-23
  • 2021-12-27
  • 2022-01-29
猜你喜欢
  • 2022-12-23
  • 2022-02-06
  • 2021-08-11
  • 2022-12-23
  • 2021-10-27
  • 2022-12-23
  • 2021-07-04
相关资源
相似解决方案