gpt4 book ai didi

asp.net - 将 ObjectDataSource 绑定(bind)到我的数据访问层中的现有方法

转载 作者:行者123 更新时间:2023-12-04 07:10:57 26 4
gpt4 key购买 nike

我看过设计器代码,也看过在代码隐藏中构建 ObjectDataSource 的代码,但是这两种方法都通过文本命令或存储过程直接与数据库通信。这对我来说似乎是不必要的代码重复,因为我的数据访问层已经有一个方法可以返回一个包含我需要用于此报告的数据的数据表。

如何以编程方式构建 ODS 并将其链接到我的数据访问层的方法?

编辑:

感谢所有回答的人。这对我来说措辞很糟糕。当初写这个问题的时候,有太多不明白的地方。我应该问的是:

如何以编程方式将 .Net Reporting Services 报表 (*.rdlc) 绑定(bind)到我的数据访问层中的方法而不是 ADO.Net 数据集。

请看下面我的回答。

最佳答案

为了使用标准的 .Net 数据集作为 Reporting Services 报告的数据源,我必须:

  • 创建一个 ADO 数据集,它使用与 DAL 方法相同的存储过程
  • 使用 ADO 数据集填充设计器中报表中的字段
  • 在 aspx 页面中,使用以下命令:

    <rsweb:ReportViewer ID="ReportViewer1" runat="server" Font-Names="Verdana"
    Font-Size="8pt" Height="655px" Width="980px">
    <ServerReport ReportServerUrl="" />
    <LocalReport>

    </LocalReport>
    </rsweb:ReportViewer>

    在代码隐藏中:
    ReportViewer1.ProcessingMode = ProcessingMode.Local
    Dim report As LocalReport = ReportViewer1.LocalReport
    report.ReportPath = "<your report path>"
    report.DataSources.Clear()

    Dim rds As New ReportDataSource()
    rds.Name = "<dataset name>_<stored proc name>"
    rds.Value = <your DAL method ()>

    report.DataSources.Add(rds)
    report.Refresh()
  • 一旦您对此进行了测试并且对您获得的报告感到满意,您就可以安全地从您的项目中排除 ADO 数据集。

  • 注意:这远非理想,我可能做了一些不必要的步骤或我错过了一些步骤。
    让我真正头疼的一件事是,RDLC 中的 XML 包含不再相关的旧 ADO 数据集的定义。要删除它们,请在解决方案资源管理器中右键单击 rdlc 文件,然后选择“打开方式”,然后在下一个菜单中选择 XML 编辑器。

    关于asp.net - 将 ObjectDataSource 绑定(bind)到我的数据访问层中的现有方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/363320/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com