Quantcast
Channel: XPages – Xcellerant
Viewing all articles
Browse latest Browse all 216

XPages Tip: Filtering a View Data Source with URL Parameters

$
0
0

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.

Sample View

In my sample database, I have a categorized view in the Notes client.

ViewDataSourceURLParams-1

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
panel.

http://www.server.com/myDB.nsf/MyPageName.xsp
ViewDataSourceURLParams-1b-XPage

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 categoryFilter parameter.

http://www.server.com/myDB.nsf/MyPageName.xsp?categoryFilter=Group 1
ViewDataSourceURLParams-2-categoryFilter

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.

http://www.server.com/myDB.nsf/MyPageName.xsp?search=101
ViewDataSourceURLParams-3-Search

To filter the results based on the first sorted column in the view, use the keys parameter.

http://www.server.com/myDB.nsf/MyPageName.xsp?keys=Group 3

Other Actions

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.)

http://www.server.com/myDB.nsf/MyPageName.xsp?startKeys=group 2

To expand or collapse categories in the view, use the expandLevel parameter.

http://www.server.com/myDB.nsf/MyPageName.xsp?expandLevel=1
ViewDataSourceURLParams-4-ExpandLevel

Miscellaneous Notes

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.



Viewing all articles
Browse latest Browse all 216

Trending Articles