Overview of Infinity Data Lists
A data list is used to represent a list of data, typically rows from the database. You can use a data list to create a list of data (i.e. show a one-to-many relationship between records). For example, a constituent can have multiple gifts, a gift can have multiple designations, an event can have multiple participants; all of these can be best displayed with a data list. Typically, a SQL Server stored procedure retrieves the data within a data list. The data list may have filters, which are parameters passed to the stored procedure. Also, the author may choose to implement an RSS feed in any data list. Data lists can appear in several different ways in the UI: Standard list, Grouped, Repeater, or with a details view. The settings for these implementations are actually made in the page and are covered in more detail in this section.
Data lists are used to display a list of data in a tabular format. The rows that comprise a data list typically come from a database; but, you can display data from virtually data source. There are two different types of specs to create a data list: Data List Spec (SP) and Data List Spec (CLR)
The table below provides a high level overview of each type and when they should be used.
Spec Template Name | Description |
---|---|
Data List Spec (SP) | This spec defines the stored procedure that returns the data for the data list. Use this spec type when a stored procedure is sufficient to pull all the needed data for your data list. |
Data List Spec (CLR) | This spec type defines the server-side catalog implementation that will fetch the data for the list. A Data list Spec (CLR) requires an XML element named CLRDataList which describes a data list based on CLR code. The CLR code is implemented within a .NET class that resides within a .NET CLR assembly hosted in the web service layer. The .NET class should inherit Blackbaud.AppFx.Server.AppCatalog.AppDataList. The CLRDataList XML element can contain a list of parameters that match a set of public variables within the .NET CLR class file. When the Infinity user interface calls upon the CLR data list to display a list of data, the GetListResults() function is called on the .NET CLR class file. GetListResults() is responsible for gathering the data for the data list and returning the data as type Blackbaud.AppFx.Server.AppCatalog.AppDataListResult. Use this spec type when complex logic is required or when you need to pull data together from atypical data sources. |