Kentico CMS 7.0 Developer's Guide

Creating new tables

Creating new tables

Previous topic Next topic Mail us feedback on this topic!  

Creating new tables

Previous topic Next topic JavaScript is required for the print function Mail us feedback on this topic!  

Tables allow you to retrieve data from the Kentico CMS database using an SQL query. You can display the data by placing the table into the layout of a report.


The following properties can be used to configure tables:



Display name

The name of the table shown in the user interface.

Code name

Name used in your code.

Enable export

If enabled, users who view the table are able to export the displayed data to external files using the Microsoft Excel (XLSX), CSV or XML format. The data export feature may be accessed by right‑clicking the table in the report, which opens a context menu with possible export actions.

Enable subscription

If enabled, users will be able to subscribe to the currently edited report table. To allow subscriptions, it is also necessary to have the Enable subscription box checked on the General tab of the given report.



Here you can add the SQL query used to retrieve data to be displayed by the table.

Is stored procedure

Indicates if the query is a stored procedure or not.

Connection string

Sets the database connection string used by the table's query.


Only users who have the Set connection string permission for the Reporting module are allowed to change this value.


The system loads the list of connection strings from the <connectionStrings> section of the application's web.config file. The (default) option represents the CMSConnectionString added by the application's initial database installer.


You can check the Inherit box to load the Connection string value set for the parent report.

No record text

Text to be displayed if the query doesn't return any data.


Skin ID

ID of the .NET skin (stored in the .skin files in ~/AppThemes/<theme name>) which will be used for the table.


Enable paging

If enabled, paging will be enabled when the report table is displayed. The paging can be configured by the two properties below.

Page size

Number of table rows per page.

Paging mode

Type of paging controls displayed below the table. The following options are available:


Previous-next buttons - displays buttons leading to the previous and next page

Page numbers - displays page numbers leading to the corresponding pages

Previous-next-first-last buttons - displays buttons leading to the first, last, previous and next page

Page numbers-first-last buttons - displays page numbers leading to the corresponding pages and buttons leading to the first and last page


Tables are entered into the report layout editor as an expression in the following format:


%%control:ReportTable?<report code name>.<table code name>%%


This is done automatically when the Insert button is used.





Writing queries for tables


The queries you write for tables are standard SQL queries that pull data from the Kentico CMS database. You can find the description of Kentico CMS database tables and views in Kentico CMS Database Reference that is a part of the standard installation.


For information about documents, you can use the View_CMS_Tree_Joined table that returns published versions of all documents.


Table column names


The table column names use the same names as the column names from the returned data set. If you need to use user friendly names, you can use the following syntax in the query:


SELECT PageTemplateDisplayName AS [Template Name], ...





1. Click New in the Tables section below the layout editor. Enter the following values:


Display name: Pages by Page Template

Code name: PagesByPageTemplate


SELECT PageTemplateDisplayName AS [Template Name], DocumentNamePath AS [Document]
FROM View_CMS_Tree_Joined
LEFT JOIN CMS_PageTemplate
ON CMS_PageTemplate.PageTemplateID = View_CMS_Tree_Joined.DocumentPageTemplateID
WHERE PageTemplateDisplayName IS NOT NULL AND PageTemplateIsReusable = 1
ORDER BY PageTemplateDisplayName


Is stored procedure: no

SkinID: leave empty

Enable paging: enabled

Page size: 10

Page mode: Page numbers


Click OK.


2. Place the cursor in the layout editor on a new line under the title, select the table from the drop-down list in the Tables section and click Insert. A string like %%control:ReportTable?PagesByPageTemplate.PagesByPageTemplate%% is added to the text area.


Click Save Save and switch to the View tab. You will see a report like this:




Continued in the example section of the Creating new graphs topic.