gpt4 book ai didi

c# - Feed RDLC (Local) report 来自 List (Entity FrameWork) 的报告

转载 作者:太空狗 更新时间:2023-10-30 00:49:22 24 4
gpt4 key购买 nike

我给自己一个 BiningList 的学生( Entity Framework 创建的类)。

我只想从中提供我的 RDLC 报告,而不是使用 DataSet 或存储过程。

此类包含多个属性,例如:

string Name;
string FamilyName;
string Mid;
DateTime Birth;
...

有人可以帮我吗?

最佳答案

选项 1 - 使用设计器

  1. 打开“添加新项目”窗口,方法是按 Ctrl +Shift +A 或从“项目”菜单选择“添加新项目...”。
  2. 从窗口中选择报告向导
  3. 在“报表向导”窗口中,单击“数据源”组合框前面的“新建...”按钮。
  4. 完成“数据源配置向导”。在第一页中选择对象并单击下一步按钮,然后在下一页中,从树中找到您的业务对象并选中它附近的复选框并单击完成 按钮关闭数据源配置向导。
  5. 完成“报告向导”。业务对象将被选为报表的数据源,因此请按照向导单击下一步,然后在“排列字段”页面中,从“< strong>Available fields' 到 'Σ Values' 通过拖放列表。在下一页中的“选择布局”和“选择样式”,然后单击完成
  6. 打开一个 Form,然后从 Toolbox 中将一个 Report Viewer 控件放在该窗体上。
  7. 通过点击 Smart tag icon 打开“Report Viewer Tasks”然后从组合框中选择“选择报告”。然后 BindingSource 将被添加到表单中。
  8. 双击 Form 来处理 Load 事件并将此代码添加到事件处理程序中:

    var data = db.Students.ToList();        
    this.studentBindingSource.DataSource = data;
    this.reportViewer1.RefreshReport();

选项 2 - 使用代码

在窗体上放置一个ReportViewer 控件并处理窗体的Load 事件并编写以下代码:

var data = db.Students.ToList();
var reportDataSource1 = new Microsoft.Reporting.WinForms.ReportDataSource();
reportDataSource1.Name = "DataSet1";
reportDataSource1.Value = data;
this.reportViewer1.LocalReport.DataSources.Add(reportDataSource1);
this.reportViewer1.LocalReport.ReportEmbeddedResource = "ReportSample.Report1.rdlc";
this.reportViewer1.RefreshReport();

reportDataSource1.Name 应该是报表定义中 DataSet 的名称。要查看它,请打开报告并在报告数据窗口中的数据集节点下查看数据集名称。

如果您使用 ReportEmbeddedResource 设置报告,则该属性应该是嵌入资源中报告的名称。如果它以项目的默认 namespace 开头,如果您的报告位于解决方案资源管理器中的文件夹中,则以文件夹名称继续,最后是报告名称。

关于c# - Feed RDLC (Local) report 来自 List (Entity FrameWork) 的报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38692746/

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