【问题标题】:Passing a parameter from a listview to crystal report将参数从列表视图传递到水晶报表
【发布时间】:2015-10-22 02:49:13
【问题描述】:

我是为 Web 应用程序创建水晶报表的新手。我正在尝试将参数从列表视图项传递到水晶报表

我就是用这个来传参数的

<a href='../Reports/UserDetails.aspx?ID=<%# Eval("UserID") %>'><i class= "fa fa-print"></i>

这是我在调用水晶报表的 aspx 后面使用的代码

protected void Page_Load(object sender, EventArgs e)
{
    if (Request.QueryString["ID"] != null)
    {
        if (Request.QueryString["ID"] != null)
        {
            int userID = 0;
            bool validUser = int.TryParse(Request.QueryString["ID"].ToString(), out userID);

            if (validUser)
            {
                if (!IsPostBack)
                {

                    GetInfo(userID);

                }
            }
            else
                Response.Redirect("Default.aspx");
        }
        else
            Response.Redirect("Default.aspx");
    }
}
void GetInfo(int ID)
{

    con.Open();
    SqlCommand cmd = new SqlCommand();
    cmd.Connection = con;
    cmd.CommandText = "SELECT Users.UserID, Types.UserType, Users.Email, Users.LastName, " +
        "Users.FirstName, Users.ContactNumber, Branch.BranchName, Users.Status, Users.DateAdded, " +
        "Users.DateModified FROM Users " +
        "INNER JOIN Types ON Users.TypeID = Types.TypeID " +
        "INNER JOIN Branch ON Users.BranchID = Branch.BranchID WHERE UserID=@UserID";
    cmd.Parameters.AddWithValue("@UserID", Request.QueryString["ID"].ToString());
    SqlDataAdapter da = new SqlDataAdapter(cmd);
    DataSet ds = new DataSet();
    da.Fill(ds, "Users");
    ReportDocument report = new ReportDocument();
    report.Load(Server.MapPath("~/Admin/Reports/rptUserDetails.rpt"));
    //report.SetParameterValue("@UserID", ID);
    //report.SetParameterValue("@UserID", ID);
    crvUsers.ReportSource = report;
    crvUsers.DataBind();
    con.Close();
}
}

enter image description here

我调试程序,它不断询问我要发送的参数。它不能再要求价值了

【问题讨论】:

  • 你已经把你的设置参数值注释掉了,大概没有注释它就不起作用了?您能否从您的报告中发布您的记录选择公式以及报告中配置的参数的屏幕截图。

标签: c# asp.net listview crystal-reports


【解决方案1】:

取消注释参数行report.SetParameterValue("@UserID", ID); 如果它不起作用,请从 UserID 参数中删除 @ 符号,并在水晶报表中设置相同的名称参数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多