Я попытался просмотреть отчет Crystal, выбрав значения в раскрывающемся списке. Он способен показывать 1-ю страницу без проблем. Но когда я попытаюсь нажать кнопку «Следующая страница» / ввести номер страницы, появится сообщение об ошибке «Ошибка входа в базу данных».
Я пытался обойти эту проблему, но все еще не смог ее решить. Немного тем, похожих на эту проблему, я уже прохожу, но все еще безрезультатно.
Я вставил эту функцию logOnInfo
public void setLogonInfo()
{
TableLogOnInfo logOnInfo = new TableLogOnInfo();
logOnInfo.ConnectionInfo.ServerName = "servername";
logOnInfo.ConnectionInfo.DatabaseName = "databasename";
logOnInfo.ConnectionInfo.UserID = "user";
logOnInfo.ConnectionInfo.Password = "pwd";
TableLogOnInfos infos = new TableLogOnInfos();
infos.Add(logOnInfo);
crystalReportViewer.LogOnInfo = infos;
}
У меня тоже есть функция Init ()
private void Page_Init(object sender, EventArgs e)
{
reportDocument = (ReportDocument)Session["reportDocument"];
crystalReportViewer.ReportSource = reportDocument;
}
Наконец, это функция отображения отчета, когда я нажимаю кнопку поиска
protected void DisplayReport() // display all value selected
{
string customerID = this.ddwn_cust.SelectedValue;
ReportDocument reportdocument = new ReportDocument();
reportdocument.Load(Server.MapPath("rptSalesRep.rpt"));
reportdocument.SetParameterValue("RepID", lblSalesRep.Text);
reportdocument.SetParameterValue("CustomerID", lblcustomer.Text);
reportdocument.SetParameterValue("ItemTypeID", txtItemType.Text);
reportdocument.SetParameterValue("startdate", Convert.ToDateTime(txtStartDate.Text));
reportdocument.SetParameterValue("enddate", Convert.ToDateTime(txtEndDate.Text));
crystalReportViewer.ReportSource = reportdocument;
setLogonInfo();
}
EDIT
Что касается раздела обратной передачи в Page_Load, я попробовал несколько идей, но, похоже, до сих пор не понял правильно.
protected void Page_Load(object sender, EventArgs e)
{
//my code
if (!IsPostBack){
if (Session["reportDocument"] != null)
{
reportDocument =(ReportDocument) Session["reportDocument"];
}
crystalReportViewer.ReportSource = reportDocument;
crystalReportViewer.RefreshReport();
}
Тем не менее, я все еще не могу перейти на следующую страницу Crystal Report Viewer.
Какие-нибудь решения этой проблемы?
Заранее спасибо!