XPages Tip: Filtering a View Data Source with URL Parameters
If you’re looking for a quick way to manipulate the data returned by a view data source, you can use URL parameters that match the property names. This allows you to effectively compute them without having to write code to compute the parameters. In this post, I’ll show several examples.
In my sample database, I have a categorized view in the Notes client.
I added a data source for this view to an XPages and dragged all of the columns on to the page to have it automatically create a view
Here’s the data source tag on the page — there are no computed properties.
<xp:this.data> <xp:dominoView var="view1" viewName="People"></xp:dominoView> </xp:this.data>
Using URL Parameters to Filter the View
To filter the view, all you have to do is append URL parameters with the same name as a filtering property of the view data source.
To limit the data to a single category, add a
To execute a full-text search, add a
search parameter. (The database must be full-text indexed or it will throw an error.) You can also include wildcards in the search parameter.
To filter the results based on the first sorted column in the view, use the
To set the view’s starting point, you can use the
startKeys parameter. (Note: The view will continue on to the end after the starting point.)
To expand or collapse categories in the view, use the
These attributes work on the view data source and not specifically on the view panel, so it is useful on a repeat control or any other control that uses a view data source.
If your data source has
ignoreRequestParameters set to true, then this will not work because it will – um – ignore the request parameters.
If you enter a parameter that doesn’t correspond exactly to a property name, then it will be ignored by the view data source.