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