Display Data Lists within Page Sections

Page sections are found in areas on the page such as the summary section and also within tabs. A page section is used as an organization mechanism in which you place features such as a View Data Form, Data List, Report, or Custom UI Model, to name a few. When configuring data lists within a page section, you have the option of various display styles:

Standard Grid View

In the screen shot below, the constituent's addresses are rendered in standard grid view. The Standard view is simply a list of data, like the Address list below. Each record is on its own row, and the list can be sorted by any column. The standard view is the only implementation that can take advantage of "virtual loading," where only the first 200 records are downloaded from the server for lists with a large number of records. When the user scrolls down, it fetches the next group of records as needed.

Selecting the properties for the section, opens the Edit page section screen. Here you can see the style options for the data list.

Grouped View

The GroupedView style allows the user to optionally set a default group field to automatically group related records together. For example, a list of phone numbers can be grouped by type of phone number such as Cell Phone, Home, or Fax. For each type of phone in the list, there would be a subheading and all gifts of that phone numbers would be grouped together under the appropriate subheading.

Selecting the properties for the section, opens the Edit page section screen. Here you can see the Style property for the Contact Information Phone List is set to GroupedView and the phone numbers are grouped by phone type (TYPE).

Using the ellipsis button on the Groups property, a default grouping can be set so that it is automatically grouped when the list is loaded, or it can simply appear as a standard grid view and then group when sorting on certain columns.

Repeater View

The Repeater view is typically used when the number of records is low. Basically, instead of showing a row of data, you can specify to use a ViewDataForm for each row of data in the data list. The ViewDataForm is displayed once for each row of data in the data list. In the example below we see the Revenue Transaction Page which is accessible by searching for a revenue transaction. Within the Details tab, we see the Revenue Transaction Detail List. Instead of rows being displayed, we see a view data form for each row of the split gift.  Below you can see the row for the $5,000 donation to the Building Fund and the $50.00 to the Playground Site.

Selecting the properties for the section, opens the Edit page section screen. Here you can see the Style property for the Revenue Transaction Detail List is set to RepeaterView.  Selecting this style causes additional properties to be displayed. The ViewDataForm property designates the view data form to display in the place of a row and the RecordIDField property designates the column in the data list which holds the record id value for the view data form.

Relational Grid View

Some data is naturally hierarchical in nature. Within a family, a grandfather has children and in turn those children can have children. Take fundraising designations, as another example. The Campaign for Excellence can have several levels of child designations organized underneath such as the Endowments Initiative, Facilities Development Initiative, Scholarship Initiative, Student Life Initiative, etc. The Student Live Initiative can have child designations such as Community Outreach, Cultural Culinary Night, Discovery Education, etc.

Using the RelationalGidView style, you can display data that is hierarchical in nature provided you have a column in the data which identifies the row and a second column which identifies the parent of the row. The user indicates which column in the data list represents the ID/Primary key value of each row via the FieldID property and which column represents the row's parent row via the ParentField property. In relational database terminology, you can think of the ParentField as being used to determine which fields in the data list is the self relating foreign key. In the screen shot below you can see the data list's ID column is used to represent the IDField (primary key) value of the row while the PARENTID column represents the parent of the row.

You can pull back and display a ton of data using the RelationalGridView which could potentially negatively impact performance. Be sure to read up on some new data list properties which are new to version 3.0 of Blackbaud CRM within our What's New Guides: Data Lists: Improvements for Relational Data Lists with Large Data Sets

Display a Detail View Form for the Selected Row in the Data List

Finally, a Standard or Grouped data list can display a "details" form. When implemented in this manner, the data list appears as a list of data (standard or grouped) and a ViewDataForm is displayed at the bottom of the data list in the Click Once smart client and underneath the row within the Web Shell user interface.. As the user selects each row of data, the ViewDataForm reloads and displays extended information about that row in the data list. The details form is typically used when you want to show more data than can easily be displayed in the data list, or data needs to be readily accessible without forcing the user to move to a different screen.

To configure a detail view form, indicate the appropriate data form within the ViewDataForm property. To supply the value you can browse the feature by name or supply an expression which results in the value of the system record id of the feature. In the screen shot below, the Address View Form 2 is used to provide additional address details for the Contact Information Address List. The view data form will require a record id in order to determine which record to display within the view form. Use the RecordIDField to indicate the column in the data list which supplies the record ID.