Reporting Server

Fields / Parameters

Fields

Fields!Product.Value
Since the data is a recordset, if there is only one result (eg. invoice), use First:
First(Fields!Product.Value)

Parameters

Parameters!Product.Value

Passing parameters

On the .NET side, parameters are always passed as strings.
On the reporting site, this parameters can be converted to boolean, datetime, integer, float or string.
The regional settings of the .NET machine are used for this. So, if you want to pass a decimal or a float:

Microsoft.Reporting.WebForms.ReportParameter[] list = new Microsoft.Reporting.WebForms.ReportParameter[1];
list[0] = new Microsoft.Reporting.WebForms.ReportParameter("amount", amount.ToString(CultureInfo.CurrentCulture));
invoice.ServerReport.SetParameters(list);

Every parameter on the .NET side, has to be implemented on the side of the report.
Parameters in the report don't have to be send, as long as the have a default value.

Calculated fields

=iif (First(Fields!Product.Value) = 1, valueIfTrue, valueIfFalse)
Mind that both possible values are first calculated, so it's not possible to handle errors (like division by zero) with this method.
Solution for this
Check for null: =Iif(IsNothing(Fields!ANYFIELD.Value),"The Field Is Null",Fields!ANYFIELD.Value)

Errors

Unable to connect to the remote server

No connection could be made because the target machine actively refused it 127.0.0.1:443
Probably in the report a stored procedure is called for which the account doesn't have sufficient rights.

The request failed with HTTP status 400: Bad Request.

The report refers to a non existing URL.

… The request failed with HTTP status 404

After inserting a new quote, this problem was fixed????

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License