2013-07-15 2 views
0

У меня есть код для передачи параметров, чтобы открыть отчет crsytal. Но когда он открывает отчет о кристалле, я снова задал параметры, чтобы показать отчет.crystal Отчеты выпуска

 ReportDocument cryRpt = new ReportDocument(); 
     TableLogOnInfos crtableLogoninfos = new TableLogOnInfos(); 
     TableLogOnInfo crtableLogoninfo = new TableLogOnInfo(); 
     ConnectionInfo crConnectionInfo = new ConnectionInfo(); 
     Tables CrTables; 
     cryRpt.Load(Server.MapPath("DMTR1.rpt")); 
     crConnectionInfo.ServerName = m_strConnectionString.Split(';')[0].Split('=')[1]; 
     crConnectionInfo.DatabaseName = m_strConnectionString.Split(';')[1].Split('=')[1]; 
     crConnectionInfo.UserID = m_strConnectionString.Split(';')[2].Split('=')[1]; 
     crConnectionInfo.Password = m_strConnectionString.Split(';')[3].Split('=')[1]; 
     CrTables = cryRpt.Database.Tables; 
     foreach (CrystalDecisions.CrystalReports.Engine.Table CrTable in CrTables) 
     { 
      crtableLogoninfo = CrTable.LogOnInfo; 
      crtableLogoninfo.ConnectionInfo = crConnectionInfo; 
      CrTable.ApplyLogOnInfo(crtableLogoninfo); 
     } 
     cryRpt.SetParameterValue("@ReceivedDate", Convert.ToDateTime("06/21/2013")); 
     cryRpt.SetParameterValue("@TransferDate", Convert.ToDateTime("08/21/2013")); 
     crysview.ReportSource = cryRpt; 
     crysview.RefreshReport(); 
+0

Вы проверили с _crysview.DataBind(); _ вместо _crysview.RefreshReport(); _? – Coder

+0

Спасибо, что так много. crysview.DataBind(); работает отлично, а не crysview.RefreshReport(); –

+0

Так что теперь он не запрашивает параметры? – Coder

ответ

2

Вы должны заменить crysview.RefreshReport(); с crysview.DataBind();.

Смежные вопросы