1

我有一个带有 2 个 DateTimePickers 和一个按钮的表单。单击按钮时,将打开另一个带有报表查看器的表单。附加到该报告查看器的 RDLC 报告有 2 个文本框来显示在 DateTimePickers 中选择的日期值。但我找不到将这些值添加到 RDLC 报告的方法。请帮助我。

表格一:

private void btnGenerate_expense_report_Click(object sender, RoutedEventArgs e)
    {
        DateTime sDate = dPStartDate_expense_report.Value.ToString("yyyy-MM-dd");
        DateTime eDate = dPEndDate_expense_report.Value.ToString("yyyy-MM-dd");

        var repExpense = new ReportExpenses(sDate, eDate);
        repExpense.ShowDialog();
    }
4

1 回答 1

1

试试下面

    DateTime sDate = dPStartDate_expense_report.Value;
    DateTime eDate = dPEndDate_expense_report.Value;

.ToString("yyyy-MM-dd")将转换datetime为 a ,如果构造函数接受值,则string不需要将DateTimePicker值转换为字符串ReportExpensesdatetime

或者您可以直接使用该值

var repExpense = new ReportExpenses(dPStartDate_expense_report.Value, dPEndDate_expense_report.Value);

现在您可以为报表查看器设置参数值

ReportParameter p1 = new ReportParameter("sDate", sDate);
ReportParameter p1 = new ReportParameter("eDate", eDate);
this.ReportViewer1.LocalReport.SetParameters(new ReportParameter[]{p1,p2}); 

假设您已经在报告中添加了两个名称"sDate" and "eDate"类型为的参数DateTime

如果您需要使用上述参数值设置文本框文本,您可以将表达式添加为

=Parameters!sDate.Value

于 2013-10-30T11:00:41.027 回答