AI agents: the content index is at /llms.txt. Every page is also available as Markdown — send the request header Accept: text/markdown, or append .md to the page URL.
Xperience Docs

Cookie consent

We use necessary cookies (opens in a new tab) to run our website and improve your experience while browsing. Additional cookies are only used with your consent. You may revoke your consent on the Cookies Policy (opens in a new tab) page or in your browser at any time.

Configure (opens in a new tab)
  • Documentation
    Administration interface basicsDevelopers and adminsBusiness usersChangelogGlossary
  • Guides
    Welcome to Xperience by KenticoAdministration interface basicsCustomer journeysDigital marketingConfigurationDevelopmentArchitectureUpgrade to Xperience by Kentico
  • Training
    For AdminsFor Business usersFor DevelopersFor Solution architects
  • API Examples
    ConfigurationContent managementDevelopmentDigital marketing
  • Changelog
    Documentation updatesSecurity advisories
  • Community Questions & Answers (opens in a new tab)
  • Contact support (opens in a new tab)
  1. Home
  2. Developers and admins
  3. Customization
  4. Extend the administration interface
  5. UI pages
  6. Reference - UI page templates
  7. Listing UI page template

Listing UI page template


Was this page helpful?

Send us feedback Go back to top

Listing pages facilitate object type (*Info class) listing.

All listing pages must inherit from the ListingPage base class. Override the ObjectType property to specify which objects are listed.

C#Example
using CMS.Membership;

using Kentico.Xperience.Admin.Base;

public class UserObjectListing : ListingPage
{
    // Set to the object type of the object you wish to have listed
    protected override string ObjectType => UserInfo.OBJECT_TYPE;
}

The bulk of listing page configuration is done within an override of the ConfigurePage method.

C#ConfigurePage method override
using System.Threading.Tasks;

using Kentico.Xperience.Admin.Base;

public class UserObjectListing : ListingPage
{
    // ...

    public override Task ConfigurePage()
    {
        // Listing page configuration code

        return base.ConfigurePage();
    }
}

The individual configuration areas are described on the following pages:

  • Display and format listing data – the columns of the grid and the elements displayed around it.
  • Add listing actions – commands invoked from rows, from the page header, and over multiple selected items.
  • Filter listing data – restricting the retrieved data and filters available to users.
  • Export listing data – downloading the listed data as a CSV file.

Reference - PageConfiguration property

The following table provides a reference of template configuration options available for listing pages via the PageConfiguration property.

Property

Type

Description

Caption

string

The page's title.

SubcaptionComponent

ISubcaptionComponent

A component rendered next to the listing page caption. See Add header subcaption.

Callouts

List<CalloutConfiguration>

Configures an optional message box element that can be displayed above the listing. See Add callouts.

ColumnConfigurations

IList<ColumnConfiguration>

See Format displayed data.

ExportConfiguration

ListingExportConfiguration

Configures the listing's data export. null by default, which means the export is disabled. Set via the EnableExport extension method. See Enable data export.

FilterFormModel

object

An instance of the model class that defines the filter UI for the listing. See Add a listing filter.

HeaderActions

IList<ActionConfiguration>

Actions available from the table header. See Add header and item actions.

MassActions

IList<ActionConfiguration>

Actions available when selecting more than one item in the listing. See Add mass actions.

MaxVisibleRowActions

int

Determines the maximum number of table actions displayed for each item. Additional actions are hidden behind an expandable menu.

PageSizes

IEnumerable<int>

Available page sizes for the listing.

QueryModifiers

IList<QueryModifier>

Collection of modifications to the displayed data. See Modify loaded data.

RowAction

ActionConfiguration

Action that occurs when a user clicks on a row in the listing.

Set via the AddEditRowAction method. See Add row actions.

RowActionIconPlaceholders

int?

Can be used to customize the width of the listing's Actions column by overriding the number of action icon placeholders.

By default this property is null, which means that the width of the Actions column is calculated based on the number of registered actions.

TableActions

IList<ActionConfiguration>

Actions available for each item in the listing. See Add header and item actions.

Register listing pages

Listing pages need to specify the TemplateNames.LISTING client template during registration.

C#Example listing page registration
using Kentico.Xperience.Admin.Base;

[assembly: UIPage(
    parentType: typeof(UsersApplication),
    slug: "list",
    uiPageType: typeof(UserObjectListing),
    name: "Users",
    templateName: TemplateNames.LISTING,
    order: 0)]

Client template – LISTING

Listing pages must use the LISTING client template.

The template contains the following default page commands:

  • LoadData – refreshes the data on the page.
  • Delete – deletes the item with the specified int identifier.
  • ExportListingData – builds the file downloaded by the Export action. Only available when the export is enabled for the page.

On this page

  • Reference - PageConfiguration property
  • Register listing pages
  • Client template – LISTING

Related pages

  • Display and format listing data
  • Add listing actions
  • Filter listing data
  • Export listing data