分别在btnclick事件上生成2个报告 [英] Generate 2 Reports separately on btnclick event
本文介绍了分别在btnclick事件上生成2个报告的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在生成报告时遇到问题.
登录参数出现问题.
我可以轻松地将1个报告打转.无法将数据输入到另一个报告中.
需要在单击事件时分别生成两个报告.
Hi,
I am facing a problem with report generation.
Problem with logon parameters.
I can gneerate 1 report easily.Unable to get data in to the other report.
Need to generate both reports separately on single click event.
Call genFunction.statistics_PaperWork(txtPWdate.Text, txtPWdate.Text)
rptSource = "\Report\MYSQL-REPORT\DOTS2_DailyPaperWork.rpt"
rsRptDt = sqlHelper.ExecuteDataTable(CommandType.Text, SqlStr)
SetReport(rptSource, rsRptDt)
Call genFunction.Employee_Process_EmpRecap(txtPWdate.Text, "", "")
SqlStr = genFunction.Find_Time_Diff_EmpRecap(txtPWdate.Text, txtPWdate.Text, "")
rptSource = "\Report\MYSQL-REPORT\DOTS2-Employee_Recap.rpt"
rsRptDt = sqlHelper.ExecuteDataTable(CommandType.Text, SqlStr)
SetReport(rptSource, rsRptDt)
End Sub
Private Sub SetReport(ByVal strPath As String, ByVal rptDt As DataTable)
Dim myTable As CrystalDecisions.CrystalReports.Engine.Table
Dim myLogin As CrystalDecisions.Shared.TableLogOnInfo
If strPath = "\Report\MYSQL-REPORT\DOTS2_DailyPaperWork.rpt" Then
objRpt = New ReportDocument
objRpt.Load(Server.MapPath("~/") & strPath)
For Each myTable In objRpt.Database.Tables
myLogin = myTable.LogOnInfo
myLogin.ConnectionInfo.ServerName = ConfigurationManager.AppSettings("Server")
myLogin.ConnectionInfo.DatabaseName = ConfigurationManager.AppSettings("DataBase")
myLogin.ConnectionInfo.Password = ConfigurationManager.AppSettings("Password")
myLogin.ConnectionInfo.UserID = ConfigurationManager.AppSettings("UserID")
myLogin.ConnectionInfo.IntegratedSecurity = "True"
myTable.ApplyLogOnInfo(myLogin)
Next
objRpt.SetDataSource(rptDt)
objRpt.DataDefinition.FormulaFields.Item("rptGenBy").Text = "totext(''This report is generated by DOTS2.'')"
objRpt.DataDefinition.FormulaFields.Item("rptPrintDate").Text = "''" & "Date : " & Format(Now(), "dd/MM/yyyy") & "''"
objRpt.DataDefinition.FormulaFields.Item("rptPrintedBy").Text = "''" & "Printed By : " & ConnectionInfo.LoggedInUser.UserID & "''"
objRpt.DataDefinition.FormulaFields.Item("rptPrintTime").Text = "''" & "Time : " & Format(Now(), "HH:mm:ss") & "''"
objRpt.DataDefinition.FormulaFields.Item("storeid").Text = "''" & "Store #:" & glob_Storeid & "''"
objRpt.DataDefinition.FormulaFields.Item("reportdate").Text = "''" & "Date : " & Format(Now(), "DD/MM/YYYY") & "''"
objRpt.DataDefinition.FormulaFields.Item("reporttime").Text = "''" & "Time : " & Format(Now(), "HH:MM:SS AM/PM") & "''"
objRpt.DataDefinition.FormulaFields.Item("FromDate").Text = "''" & modGlobal.RetFormatDate(txtPWdate.Text, "dd/MM/yyyy") & "''"
If strenddate <> "" Then
objRpt.DataDefinition.FormulaFields.Item("ToDate").Text = "''" & modGlobal.RetFormatDate(txtPWdate.Text, "dd/MM/yyyy") & "''"
Else
objRpt.DataDefinition.FormulaFields.Item("ToDate").Text = "''" & modGlobal.RetFormatDate(txtPWdate.Text, "dd/MM/yyyy") & "''"
End If
If Glob_Rpt_Final = True Then
objRpt.DataDefinition.FormulaFields.Item("rpttitle").Text = "totext(''DAILY PAPERWORK (FINAL)'')"
Else
objRpt.DataDefinition.FormulaFields.Item("rpttitle").Text = "totext(''DAILY(PaperWork)'')"
End If
crptTemplate.ReportSource = objRpt
objRpt.PrintToPrinter(1, True, 0, 0)
End If
If strPath = "\Report\MYSQL-REPORT\DOTS2-Employee_Recap.rpt" Then
objRpt1 = New ReportDocument
objRpt1.Load(Server.MapPath("~/") & strPath)
For Each myTable In objRpt.Database.Tables
myLogin = myTable.LogOnInfo
myLogin.ConnectionInfo.ServerName = ConfigurationManager.AppSettings("Server")
myLogin.ConnectionInfo.DatabaseName = ConfigurationManager.AppSettings("DataBase")
myLogin.ConnectionInfo.Password = ConfigurationManager.AppSettings("Password")
myLogin.ConnectionInfo.UserID = ConfigurationManager.AppSettings("UserID")
myLogin.ConnectionInfo.IntegratedSecurity = "True"
myTable.ApplyLogOnInfo(myLogin)
Next
objRpt1.SetDataSource(rptDt)
objRpt1.DataDefinition.FormulaFields.Item("rptGenBy").Text = "totext(''This report is generated by DOTS2.'')"
objRpt1.DataDefinition.FormulaFields.Item("rptPrintDate").Text = "''" & "Date : " & Format(Now(), "dd/MM/yyyy") & "''"
objRpt1.DataDefinition.FormulaFields.Item("rptPrintedBy").Text = "''" & "Printed By : " & ConnectionInfo.LoggedInUser.UserID & "''"
objRpt1.DataDefinition.FormulaFields.Item("rptPrintTime").Text = "''" & "Time : " & Format(Now(), "HH:mm:ss") & "''"
objRpt1.DataDefinition.FormulaFields.Item("storeid").Text = "''" & "Code: " & glob_Storeid & "''"
objRpt1.DataDefinition.FormulaFields.Item("FromDate").Text = "''" & modGlobal.RetFormatDate(txtPWdate.Text, "dd/MM/yyyy") & "''"
If strenddate <> "" Then
objRpt1.DataDefinition.FormulaFields.Item("ToDate").Text = "''" & modGlobal.RetFormatDate(txtPWdate.Text, "dd/MM/yyyy") & "''"
Else
objRpt1.DataDefinition.FormulaFields.Item("ToDate").Text = "''" & modGlobal.RetFormatDate(txtPWdate.Text, "dd/MM/yyyy") & "''"
End If
If Glob_Rpt_Final = True Then
objRpt1.DataDefinition.FormulaFields.Item("rpttitle").Text = "totext(''EMPLOYEE RECAP (FINAL)'')"
Else
objRpt1.DataDefinition.FormulaFields.Item("rpttitle").Text = "totext(''EMPLOYEE RECAP'')"
End If
crptTemplate.ReportSource = objRpt1
objRpt1.PrintToPrinter(1, True, 0, 0)
End If
End Sub
推荐答案
可能您未设置登录参数.
试试:
Probably you are not setting your login parameters probably.
Try:
myCrystalReprot.SetDatabaseLogon("myUsername", "myPassword");
此外,请查看以下帮助信息:
C#Crystal Reports动态登录参数 [ Crystal Reports在加载时要求输入用户名和密码 [使用具有.NET的Crystal Reports对数据库登录错误进行故障排除 [ ^ ]
Further, see if these help:
C# Crystal Reports Dynamic Logon parameters [^]
Crystal Reports asks for Username and Password while loading[^]
Troubleshooting Database Login Errors using Crystal Reports with .NET[^]
这篇关于分别在btnclick事件上生成2个报告的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文