Crystal 通过查询字符串报告和参数
Crystal report and parameter through querystring
这是我的 html:
<CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server" AutoDataBind="true" />
这是加载代码:
ReportDocument cryRpt = new ReportDocument();
cryRpt.Load(Server.MapPath("/reports/Mat-new.rpt"));
cryRpt.SetParameterValue("PO", Request.QueryString["po"]);
cryRpt.SetParameterValue("MR", Request.QueryString["mr"]);
CrystalReportViewer1.ReportSource = cryRpt;
CrystalReportViewer1.RefreshReport();
var mytableloginfos = new TableLogOnInfos();
var myConnectionInfo = new ConnectionInfo();
mytableloginfos = CrystalReportViewer1.LogOnInfo;
foreach (TableLogOnInfo myTableLogOnInfo in mytableloginfos)
{
myTableLogOnInfo.ConnectionInfo = myConnectionInfo;
}
myConnectionInfo.ServerName = "opl";
myConnectionInfo.DatabaseName = "FIL";
myConnectionInfo.UserID = "rep";
myConnectionInfo.Password = "rep";
为了我的生活,无法获取要传递的参数。
知道我怎样才能让它工作吗?
试试这个:
CrystalReportViewer1.ReportDocument.SetParameterValue("PO", Request.QueryString["po"]);
CrystalReportViewer1.ReportDocument.SetParameterValue("MR", Request.QueryString["mr"]);
试试这个:
private void PassParameters()
{
string po = Request.QueryString["po"];
string mr = Request.QueryString["mr"]
ParameterValues ppo = new ParameterValues();
ParameterValues pmr = new ParameterValues();
ppo.AddValue(po);
pmr.AddValue(mr);
foreach (ParameterField field in cryRpt.ParameterFields)
{
if (string.Compare(field.Name.TrimStart('@'), "PO", true) == 0)
field.CurrentValues = ppo;
if (string.Compare(field.Name.TrimStart('@'), "MR", true) == 0)
field.CurrentValues = pmr;
}
这是我的 html:
<CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server" AutoDataBind="true" />
这是加载代码:
ReportDocument cryRpt = new ReportDocument();
cryRpt.Load(Server.MapPath("/reports/Mat-new.rpt"));
cryRpt.SetParameterValue("PO", Request.QueryString["po"]);
cryRpt.SetParameterValue("MR", Request.QueryString["mr"]);
CrystalReportViewer1.ReportSource = cryRpt;
CrystalReportViewer1.RefreshReport();
var mytableloginfos = new TableLogOnInfos();
var myConnectionInfo = new ConnectionInfo();
mytableloginfos = CrystalReportViewer1.LogOnInfo;
foreach (TableLogOnInfo myTableLogOnInfo in mytableloginfos)
{
myTableLogOnInfo.ConnectionInfo = myConnectionInfo;
}
myConnectionInfo.ServerName = "opl";
myConnectionInfo.DatabaseName = "FIL";
myConnectionInfo.UserID = "rep";
myConnectionInfo.Password = "rep";
为了我的生活,无法获取要传递的参数。 知道我怎样才能让它工作吗?
试试这个:
CrystalReportViewer1.ReportDocument.SetParameterValue("PO", Request.QueryString["po"]);
CrystalReportViewer1.ReportDocument.SetParameterValue("MR", Request.QueryString["mr"]);
试试这个:
private void PassParameters()
{
string po = Request.QueryString["po"];
string mr = Request.QueryString["mr"]
ParameterValues ppo = new ParameterValues();
ParameterValues pmr = new ParameterValues();
ppo.AddValue(po);
pmr.AddValue(mr);
foreach (ParameterField field in cryRpt.ParameterFields)
{
if (string.Compare(field.Name.TrimStart('@'), "PO", true) == 0)
field.CurrentValues = ppo;
if (string.Compare(field.Name.TrimStart('@'), "MR", true) == 0)
field.CurrentValues = pmr;
}