当我尝试传递一个从查询字符串中获取的参数值时,我的报告出现错误。
使用下面的当前设置,我收到以下错误:“报告处理期间出错。 无法评估Tablix'Tablix2'“
的FilterValue在我的设计器中,我有一个表格,其中包含从数据集中拖动的列。 我有一个文本框,标签是参数CHAPTER_ID。它显示为“#Error”。当我将其设置为整数或文本
时表格填充正常,但无法使用参数进行过滤。我可以对一个值进行硬编码并对其进行过滤。
ASPX
<rsweb:ReportViewer ID="ReportViewerAnyReport" runat="server" Height="800px" ProcessingMode="Local"
Style="position: relative" Width="1100px"></rsweb:ReportViewer>
ASPX.CS
protected void Page_Load(object sender, EventArgs e)
{
if (!(Page.IsPostBack))
{
List<GetComments_Result> comments = RexCommentBAO.GetAllComments();
string s_chapterId = Request.QueryString["ChapterID"];
try
{
ReportDataSource datasource = new ReportDataSource("ds_comments", comments);
ReportViewerAnyReport.LocalReport.DataSources.Add(datasource);
ReportViewerAnyReport.LocalReport.ReportEmbeddedResource = @"C:\Work\W2R.Rex\Rex\Rex\Rex_Web\RexReports.rdlc";
ReportViewerAnyReport.LocalReport.ReportPath = @"C:\Work\W2R.Rex\Rex\Rex\Rex_Web\RexReports.rdlc";
ReportParameter p = new ReportParameter("CHAPTER_ID", s_chapterId);
this.ReportViewerAnyReport.LocalReport.SetParameters(new ReportParameter[] { p });
ReportViewerAnyReport.LocalReport.Refresh();
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
在我的rdlc [设计] -
参数属性
General Tab:
Name: CHAPTER_ID
Data type: Text (Tried Integer - codebehind passes string. Integer throws the error: "An error has occurred during report processing. Failed to evaluate the FilterValue of the Tablix ‘Tablix2’".
Checkboxes (all unchecked)
-Allow Blank value("")
-Allow null value
-Allow multiple values
Available Values Tab: None is selected
Default Values Tab: None is selected
Tablix属性:
General Tab:
Dataset name: ds_comments
Filters Tab:
Expression: Fields!CHAPTER_ID.Value Text (Tried Integer)
Operator: =
Value: [@CHAPTER_ID] - the expression for this value is "=Parameters!CHAPTER_ID.Value". Hard coded a value and it filtered the data.
答案 0 :(得分:0)
因此,在执行LocalReport时似乎无法使用参数。通过传入预先过滤的数据源来更改它。
List<CMT> comments = RexCommentBAO.GetCommentsByChapterId(i_chapterId);