QueryParameter Class

A parameter that is used to pass HTTP request parameter values to a JSON endpoint.

Namespace: DevExpress.DataAccess.Json

Assembly: DevExpress.DataAccess.v20.1.dll

Declaration

public class QueryParameter :
    DataSourceParameterBase
Public Class QueryParameter
    Inherits DataSourceParameterBase

Returned By

The QueryParameterCollection.Item[String] property returns an instance of QueryParameter.

Remarks

Use query parameters to pass HTTP request parameters to a JSON endpoint.

URI Example Notes
http: //www.example.com/api/orders/?startDate=2019-01-01&endDate=2019-12-31 Use query parameters to specify the startDate and endDate.

Add query parameters to QueryParameterCollection and assign the collection to the UriJsonSource.QueryParameters property.

The parameters are added to endpoint requests in the same order they occupy in the collection. Change the order of elements in the collection to reposition parameters in endpoint requests.

Specify the following properties to configure a query parameter:

  • Name - the parameter name.
  • Type - the parameter type. Set it to String to provide the parameter's static value, or to Expression to provide an expression.
  • Value - the parameter value.

You can use expressions to set the query parameter value. Specify an expression in the parameter's Value property and specify that the parameter's Type is DevExpress.DataAccess.Expression.

using DevExpress.DataAccess;
using DevExpress.DataAccess.Json;
// ...
// Specify the current date as the path parameter value. Format the date as 2020-01-31.
jsonSource.QueryParameters.Add(new QueryParameter("date", typeof(Expression), new Expression("FormatString('{0:yyyy-MM-dd}',Today())")));

In DevExpress reports, expressions can include report parameters. Prepend the report parameter's name with the ? character in an expression.

using DevExpress.DataAccess;
using DevExpress.DataAccess.Json;
// ...
// The "ReportDateParameter" is a DevExpress report parameter whose value is copied to the new query parameter.
jsonSource.QueryParameters.Add(new QueryParameter("date", typeof(Expression), new Expression("?ReportDateParameter")));

Examples

The code sample below specifies a JSON endpoint and uses the date and id query parameters to identify the data record requested from the endpoint. The id query parameter is bound to the ID report parameter.

using DevExpress.DataAccess;
using DevExpress.DataAccess.Json;
// ...
// Create a new JSON source.
var jsonSource = new UriJsonSource() {
    Uri = new Uri(@"https://localhost:44367/api/values")
};
// Create the "date" and "id" query parameters that are appended to the JSON URI: https://localhost:44367/api/values/?date=2020-01-15&id=123.
jsonSource.QueryParameters.AddRange(new[] {
    new QueryParameter("date", typeof(String), String.Format("{0:yyyy-MM-dd}", DateTime.Today)),
    // "ID" is a report parameter whose value is used for the "id" query parameter.
    new QueryParameter("id", typeof(Expression), new Expression("?ID"))
});
// Assign the JSON source to the data source.
var datasource = new JsonDataSource() {
    JsonSource = jsonSource
};

Inheritance

See Also