Как я могу решить проблему Crystal Report? - PullRequest
0 голосов
/ 17 апреля 2020

этот код работает, но я сталкиваюсь с некоторой ошибкой, связывающей вызов отчета, но с параметром ask every и соединением базы данных.

    private void showReport(int? clsID,int? secID,int? facID)
        {
            try
            {
                crystalReportViewer1.RefreshReport();
                ReportDocument rd = new ReportDocument();
                rd.Load(Application.StartupPath + "\\Reports\\ttreport1.rpt");
                crystalReportViewer1.ReportSource = rd;
                var data = obj.st_getTimeTableReprot(clsID, secID, facID);
                rd.SetDataSource(data.ToList());

            }
            catch (Exception ex)
            {
                MainClass.ShowMSF(ex.Message, "Error", "Error");
            }
        }

1 Ответ

0 голосов
/ 22 апреля 2020

Это может быть не самый лучший ответ, поскольку он включает в себя жесткое кодирование учетных данных, но эй, я был в отчаянии. Ниже приведен пример того, что я использовал на днях, когда мой Crystal Report, который я вызываю в моем проекте ASP .NET / C#, не переставал запрашивать у меня учетные данные при каждом запуске.

Я бы попробовал жестко закодировать учетные данные, которые вы используете для создания данных отчета, и посмотреть, поможет ли это.

protected void BtnTagNo_Click (отправитель объекта, EventArgs e) {строка btn_fileSavePath;

    btn_fileSavePath = @"\\myserver\c$\inetpub\wwwroot\myReport.RPT";
    ReportDocument cryRpt = new ReportDocument();

    TableLogOnInfos crtableLogoninfos = new TableLogOnInfos();
    TableLogOnInfo crtableLogoninfo = new TableLogOnInfo();
    ConnectionInfo crConnectionInfo = new ConnectionInfo();
    Tables CrTables;

    string path = btn_fileSavePath;
    cryRpt.Load(path);

    cryRpt.SetParameterValue("TagNo", Convert.ToInt32(txtTagNo.Text));

    crConnectionInfo.ServerName = "YOURSERVER\\HERE";
    crConnectionInfo.DatabaseName = "DBNAME";
    crConnectionInfo.UserID = "userID";
    crConnectionInfo.Password = "password";

    CrTables = cryRpt.Database.Tables;
    foreach (CrystalDecisions.CrystalReports.Engine.Table CrTable in CrTables)
    {
        crtableLogoninfo = CrTable.LogOnInfo;
        crtableLogoninfo.ConnectionInfo = crConnectionInfo;
        CrTable.ApplyLogOnInfo(crtableLogoninfo);
    }

    CrystalReportViewer1.ReportSource = cryRpt;

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...