You can use parameterized data retrieval methods to supply search criteria and values for sorting and filtering.
SqlDataSource, ObjectDataSource, EntityDataSource, OpenAccessDataSource, CubeDataSource and WebServiceDataSource components have Parameters collections allowing you to map the data retrieval methods parameters to report parameters, fields or other expressions. Each of the listed data source components has a Wizard including the configuration of the component's Parameters collection.
Report Parameters can be used for passing values of String, Integer, Float, Datetime, Boolean type, and Array of objects in case of a multivalue report parameter. Custom types are not supported by report parameters, but you can use other expression based on fields and custom functions to pass values to data-retrieval methods. Updating values of report parameters from the calling application can be achieved using Parameters collection of the ReportSource class: Report Source Parameters.