Skip to main content
Version: 1.28 (Current)

Refresh Listing

Audience: Low-code Engineers

Skill Prerequisites: Actions, Listings

Reloads the data of a Listing module that you pick, without reloading the page. Use it from a form, or from another listing, after actions that change the data the listing shows.

The listing keeps its current page, search, filters and sorting. Any selected rows are cleared. The actions after this one keep running.

Typical Use Cases​

  • Show a new record in a listing right after a form on the same page saves it
  • Update a listing after a form popup closes, together with Close Form Popup And Continue Execution
  • Refresh a second listing on the page after a button in the first listing changes its data

Don't use it to​

  • Refresh the listing that ran the button. Use Datasource Refresh instead.
  • Change the page, filters or sorting. Use Filter Listing instead.
  • Refresh a listing on a timer. Use the Refresh Data Source setting on the listing's data source instead.
  • Refresh a listing from an API endpoint. It's not available there.
Action NameDescription
Datasource RefreshReloads the listing that ran the button.
Filter ListingChanges the filters, sorting or paging of a listing on the same page.
Show Listing And Continue ExecutionShows a listing that is set to open in a popup or manually.
Close Form Popup And Continue ExecutionCloses a form popup, often followed by this action.

Refresh Listing or Datasource Refresh?​

ActionWhich listing reloadsWhere it's available
Refresh ListingThe listing module you pick in Select ModuleForms and listings
Datasource RefreshThe listing whose button ran the actionListing buttons

Input Parameter Reference​

ParameterDescriptionSupports TokensDefaultRequired
Select ModuleThe Listing module to reload. Pick it from the list, or use a token or expression that gives the module ID or its GUID, for example [ListingModuleId].YesemptyYes

How it works​

The action sends a small script to the browser, which asks the listing to reload its data. The server keeps running the next actions in the meantime.

The listing must be on the page the user is looking at. If it isn't, nothing happens and the browser console logs The Listing with ModuleId ... is not available.

In Listings​

Listings also have a client-side Refresh Listing with the same title. It's only available on buttons with Client Button turned on. It runs in the browser as soon as the button is clicked, without a request to the server.

It has the same Select Module parameter. There's no Stop or Continue. A client button only runs client-side actions, one after another.

Considerations​

  • Put it after the actions that change the data. The refresh is sent to the browser when the action runs. If the data is saved by a later action, the listing reloads before the change.
  • The value must be a module. If Select Module isn't a number or a GUID, the action fails with Could not determine ModuleId to execute the action.
  • Hidden listings are shown. A listing with Display Mode set to Manual is made visible when it's refreshed. See Display Mode.
  • Not in APIs, workflows or scheduled tasks. The action runs JavaScript in the browser, so it's only available in forms and listings.
  • From JavaScript. You can do the same with dnnsf.api.actionGrid.refresh(1234), where 1234 is the listing module ID.
  • Conditions. To refresh only in some cases, give it a condition, for example "[Status]" == "Approved". See Common Parameters.

Examples​

tip

To understand how to use the below examples, please see Running Examples.

1. Show a new order in the listing after saving​

Add this action to the submit button of an order form, after the action that saves the order. The Listing module 1234 on the same page reloads and shows the new order.

{
"Title": "Refresh Listing",
"ActionType": "RefreshGrid",
"Description": "Show the new order in the orders listing",
"Parameters": {
"ModuleId": "1234"
}
}

2. Refresh a listing from a client button​

Add this action to a listing button with Client Button turned on. It reloads the Listing module 5678 on the same page, without a request to the server.

{
"Title": "Refresh Listing",
"ActionType": "RefreshGridClient",
"Description": "Reload the order lines listing",
"Parameters": {
"ModuleId": "5678"
}
}

Revised 09/27/2026