且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Asp.net MVC 5,SQL数据库和RDLC reportviewer Web表单

更新时间:2023-11-29 23:20:58

#reportTree)。data(' ejTreeView'跨度>);
var rptName = ;
var selectedNode = treeReportList.getSelectedNode();
rptName = treeReportList.getText(
("#reportTree").data('ejTreeView'); var rptName = ""; var selectedNode = treeReportList.getSelectedNode(); rptName = treeReportList.getText(


(selectedNode [ 0 ]));
// 如何将rptName传递给ReportView.cshtml。我还不知道。
var url = ' @ Url.Action(ReportView,Report)';
window location .href = url.replace();
}
< / script>
(selectedNode[0])); //how to pass rptName to ReportView.cshtml. I don't know yet. var url = '@Url.Action("ReportView", "Report")'; window.location.href = url.replace(); } </script>





这是ReportView.cshtml页面,我不知道如何从索引页面获取para并发送到ReportViewer.aspx页面。





Here is ReportView.cshtml page and I don't know how to get para from Index page and send to ReportViewer.aspx page.

@{
    ViewBag.Title = "Report";
    Layout = "~/Views/Shared/_Layout.cshtml";
}
<iframe id="myReport" width="100%" height="100%" src="~/Reports/ReportViewer.aspx?ReportName=By%20Date"></iframe>





这是我的ReportViewer.aspx页面的.cs和html。





Here is .cs and html of my ReportViewer.aspx page.

<body>
    <form id="formReportViewer" runat="server">
        <div>
            <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
            <rsweb:ReportViewer ID="rvReportViewer" runat="server" Width="100%">
            </rsweb:ReportViewer>
        </div>
    </form>
</body>





以下是ReportViewer.aspx背后的代码



Here is code behind of ReportViewer.aspx

protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                if(Request.QueryString["ReportName"] != null)
                {
                    string reportName = Request.QueryString["ReportName"].ToString();
                    switch (reportName)
                    {
                        case "By Date":
                            using (conn)
                            {
                                conn.Open();
                                string query = "Select InvDate, RegNo, ClaimTypeName, ClaimantName, SupplierName, DepotName, DeptName, CurrencyShort, Amount From ClaimEnqTmp";
                                SqlDataAdapter da = new SqlDataAdapter(query, conn);
                                da.Fill(dt);
                                conn.Close();
                            }
                            List<ClaimEnqTmp> claimEnq = new List<ClaimEnqTmp>();
                            foreach (DataRow rows in dt.Rows)
                            {
                                claimEnq.Add(new ClaimEnqTmp
                                {
                                    InvDate = Convert.ToDateTime(rows["InvDate"]),
                                    RegNo = rows["RegNo"].ToString(),
                                    ClaimTypeName = rows["ClaimTypeName"].ToString(),
                                    ClaimantName = rows["ClaimantName"].ToString(),
                                    SupplierName = rows["SupplierName"].ToString(),
                                    DepotName = rows["DepotName"].ToString(),
                                    DeptName = rows["DeptName"].ToString(),
                                    CurrencyShort = rows["CurrencyShort"].ToString(),
                                    Amount = Convert.ToInt32(rows["Amount"])
                                });
                            }

                            rvReportViewer.LocalReport.ReportPath = Server.MapPath("~/Reports/rptClaimEnq.rdlc");
                            rvReportViewer.LocalReport.DataSources.Clear();
                            ReportDataSource rds = new ReportDataSource("ClaimEnqTmpDataSet", claimEnq);
                            rvReportViewer.LocalReport.DataSources.Add(rds);
                            rvReportViewer.LocalReport.Refresh();
                            rvReportViewer.DataBind();
                            break;
                        case a:
                          break;
                        case b:
                          break;
                        default:
                            break;
                    }
                }
            }
        }