首页 > 解决方案 > 如何使用两个日期时间选择器和 Winforms 中的一个按钮按日期过滤 RDLC 报告

问题描述

我创建了一个 RDLC 报告,并在表适配器中添加了一个查询,并在包含报告查看器的表单中添加了 2 个 datetimepickers 和一个按钮。在按钮单击事件中,我添加了代码来初始化 tableadapter 和 datatable。

我使用相同的代码按 Shift 过滤报告,它使用文本框和按钮工作,但我确实需要按日期、Shift 和行过滤报告。但我想我会先从 datetimepickers 开始。正如你们从我的代码中看到的那样,我什至不知道如何构建一个包含日期、班次和行的查询。

这是 tableadapter 查询中的代码

SELECT        [DateTime], Inspector1, Inspector2, LineTech, Line, Shift, PartNumber, Ribbon1, Ribbon2, Ribbon3, RB1Scrap, RB2Scrap, RB3Scrap, RB4Scrap, RB5Scrap, RB6AScrap, RB6BScrap
FROM            ScrapRepairsEntry

WHERE DateTime between FromDate AND ToDate

这是按钮单击事件中的代码

DsRibbonTableAdapters.ScrapRepairsEntryTableAdapter adapter = new DsRibbonTableAdapters.ScrapRepairsEntryTableAdapter();
      DsRibbon.ScrapRepairsEntryDataTable table = new DsRibbon.ScrapRepairsEntryDataTable();

      adapter.FillBy(table, dtpFrom.Text, dtpTo.Text);

      ReportDataSource MyNewDataSource = new ReportDataSource("DataSet1", (DataTable)table);
      this.reportViewer1.LocalReport.DataSources.Clear();
      this.reportViewer1.LocalReport.DataSources.Add(MyNewDataSource);
      this.reportViewer1.LocalReport.Refresh();
      this.reportViewer1.RefreshReport();

当我运行代码时,它会引发异常“方法 'FillBy' 没有重载需要 3 个参数”。几天来我一直在搜索谷歌并尝试不同的东西,但没有任何效果。我不知道还能尝试什么。

标签: c#winformsrdlc

解决方案


推荐阅读