Scroll

Create a Filter with the .NET Api

The following is a quick explanation for how to create a report Filter using the .NET Api.

References

Ensure that your application is referencing the Filter class, which is located in the WebReports.Api.Reports namespace, and the DataValue class, which is located in the WebReports.Api.Common namespace.

using WebReports.Api.Reports;
using WebReports.Api.Common;

Example

/* Manually Creating a Filter */
Filter myFilter = myReport.Filters.NewFilter();

myFilter.Name = "Categories.CategoryName";
myFilter.Operator = wrFilterOperator.NotOneOf;
myFilter.AndOrWithNext = wrFilterAndOrWithNext.And;
myFilter.GroupWithNext = false;
myFilter.Prompt = false;

DataValue condiments = new DataValue(myApi.PageInfo, 0);
condiments.Value = "Condiments";
myFilter.DataValues.Add(condiments);

DataValue produce = new DataValue(myApi.PageInfo, 0);
produce.Value = "Produce";
myFilter.DataValues.Add(produce);

Explanation

 

NOTE: Filters created in the API are unique to their session.

Use the convenience method, myReport.Filters.NewFilter() to create a new filter in the report. Then set the following fields:

NOTE: myReport.Filters is an ordered list of filters. To change the order of precedence, re-order the list and use the filters' grouping variables to create precedence groups.

myFilter.Name - The mnemonic entity and column name to filter on.

myFilter.Operator - Accepts one of the following wrFilterOperator enumerators for the filter operator type:

Single Variable

  • EqualTo
  • NotEqualTo
  • LessThan
  • LessThanOrEqualTo
  • GreaterThan
  • GreaterThanOrEqualTo
  • StartsWith
  • NotStartsWith
  • EndsWith
  • NotEndsWith
  • Contains
  • NotContains

Multi Variable

  • Between (two vars)
  • NotBetween (two vars)
  • OneOf (one or more vars)
  • NotOneOf (one or more vars)

myFilter.AndOrWithNext - How this filter groups with the next filter. Accepts a wrFilterAndOrWithNext enumerator.

myFilter.GroupWithNext - Whether or not to group this filter with the next filter, in order to control for the order of operation. Accepts true or false.

myFilter.Prompt - Whether or not this filter prompts for a value upon report execution. Accepts true or false.

If you're using a single variable operator, then set the filter value and data type with the following calls:

myFilter.Value

myFilter.Type - Accepts an integer representing the data type:

  • 0 - string
  • 1 - date
  • 2 - integer
  • 3 - decimal

If you're using a multi variable operator, then you'll need to create a DataValue object for each value to add to the filter. Use the following constructor:

myDataValue = new DataValue(myApi.PageInfo, dataTypeInt);

The DataValue constructor requires the API's PageInfo as the first argument, and an integer representing the data type (see myFilter.Type above) as the second.

Then set the data value:

myDataValue.Value

And add it to the filter's list of data values:

myFilter.DataValues.Add(myDataValue);


Hidden Article Information

Article Author
Exago Development
created 2016-03-10 19:59:19 UTC
updated 2017-02-21 16:46:19 UTC

Labels
filter values, How Do I, API, .NET, How-To, filters,
Have more questions? Submit a request