Displaying data from Dataverse

Loading

One of the key strengths of Power Pages is its deep integration with Microsoft Dataverse—the cloud-based data platform that stores and manages business data used by Power Platform apps. Displaying data from Dataverse allows you to build dynamic, interactive websites that serve data in real-time to users based on roles, permissions, and business rules.

This guide will walk you through everything you need to know about displaying data from Dataverse in Power Pages, including:

  • What is Dataverse?
  • Why use Dataverse with Power Pages?
  • Methods of displaying data from Dataverse
  • Creating and configuring Entity Lists
  • Adding Entity Lists to Web Pages
  • Displaying related records
  • Securing your data with Web Roles and Permissions
  • Enhancing user experience
  • Best practices
  • Troubleshooting

1. What is Dataverse?

Microsoft Dataverse is a cloud-based storage platform that standardizes data across Microsoft Power Apps, Power Pages, Dynamics 365, and other Microsoft 365 services. It supports structured data storage, business logic, security, and integrations with low-code apps.

Dataverse data is stored in tables (entities) which contain columns (fields). You can relate tables through relationships, apply role-based security, and define business logic via Power Automate, plugins, or JavaScript.


2. Why Use Dataverse with Power Pages?

Using Dataverse in Power Pages offers:

  • Real-time data visibility: Users can view up-to-date information.
  • Security: Role-based access through Web Roles and Table Permissions.
  • Standardization: Data remains consistent across your business systems.
  • Low-code customization: Easily create and publish lists, forms, and dashboards.

3. Ways to Display Data from Dataverse in Power Pages

There are three main ways:

  1. Entity Lists – Best for displaying tabular data (like a product catalog or case list).
  2. Liquid Templates – Best for advanced customization and conditional rendering.
  3. JavaScript & Web APIs – Best for interactive or dynamic applications needing fine-grained control.

This guide focuses on Entity Lists, the most common and user-friendly method.


4. Creating and Configuring an Entity List

Step-by-Step:

Step 1: Go to Power Pages Admin Center

  • Navigate to your Power Pages site
  • Open the Portal Management App

Step 2: Create a View in Dataverse

  • Go to Power Apps > Tables
  • Choose a table (e.g., Cases)
  • Select Views > + New View
  • Define which columns to show and apply filters
  • Save and publish

Step 3: Create an Entity List

  • In Portal Management App, go to Entity Lists > + New
  • Name it appropriately (e.g., Open Cases List)
  • Select the target Table (e.g., Case)
  • Under View, select the one you created earlier
  • Set Website to your current Power Pages site

Optional Settings:

  • Enable actions like Create, Update, Delete, Download
  • Enable Search, Paging, Sorting
  • Filter by relationships or user

Save and close.


5. Displaying Entity List on a Web Page

Step 1: Create a Web Page

  • In Power Pages Design Studio or Portal Management, create a new Web Page
  • Set Partial URL, Parent Page, and Page Template

Step 2: Add Entity List to Web Page

  • Go to Web Page > Localized Content
  • Under Entity List, choose the one you just created
  • Save and publish

Once published, your site visitors will see a dynamic table with data pulled directly from Dataverse.


6. Displaying Related Records

To display related records (e.g., Contacts under an Account), you can:

  • Use Filter by Parent in Entity List settings
  • Set relationships in the view
  • Use Liquid Templates to pull related tables using lookup fields

Example with Liquid:

{% fetchxml contact_list %}
<fetch top="10">
<entity name="contact">
<attribute name="fullname" />
<attribute name="emailaddress1" />
<filter>
<condition attribute="accountid" operator="eq" value="{{ user.accountid }}" />
</filter>
</entity>
</fetch>
{% endfetchxml %}

<ul>
{% for contact in contact_list.results.entities %}
<li>{{ contact.fullname }} - {{ contact.emailaddress1 }}</li>
{% endfor %}
</ul>

7. Securing Data Access

Web Roles

Assign Web Roles (Admin, Authenticated User, etc.) to control who can view, add, or update records.

Table Permissions

  • Go to Portal Management App > Table Permissions
  • Create a new permission set
  • Define:
    • Table
    • Privileges (Read, Write, etc.)
    • Relationship (Global, Contact-based, Account-based)
    • Web Role association

Make sure each Entity List or Form is protected with relevant Table Permissions.


8. Enhancing Display and UX

  • Enable Filters – Add quick filters to help users narrow down results.
  • Enable Paging – Prevents performance issues with large datasets.
  • Add Actions – Allow users to click rows to view, edit, or delete.
  • Conditional Formatting – Use Liquid or JavaScript for color coding or flags.
  • Search Box – Improve accessibility by adding a keyword search option.

9. Best Practices

PracticeBenefit
Use well-structured ViewsControls the data and improves performance
Limit columns and recordsFaster loading, better UX
Enable paging and searchSupports large datasets
Secure with Web RolesPrevents data leakage
Use custom messagesInform users of data load, empty lists
Test roles and permissionsEnsure proper access control

10. Troubleshooting Tips

ProblemFix
Entity List not showingCheck if it’s assigned to the Web Page
Data not visibleEnsure correct Table Permissions and View filters
“Access Denied” errorVerify user’s Web Role and Table Permission settings
Wrong columns shownEdit and publish the correct View
Search not workingEnsure you’ve enabled Search and added searchable columns

Leave a Reply

Your email address will not be published. Required fields are marked *