Refresh Listing
Audience:
Low-code EngineersSkill 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.
Related Actions
| Action Name | Description |
|---|---|
| Datasource Refresh | Reloads the listing that ran the button. |
| Filter Listing | Changes the filters, sorting or paging of a listing on the same page. |
| Show Listing And Continue Execution | Shows a listing that is set to open in a popup or manually. |
| Close Form Popup And Continue Execution | Closes a form popup, often followed by this action. |
Refresh Listing or Datasource Refresh?
| Action | Which listing reloads | Where it's available |
|---|---|---|
| Refresh Listing | The listing module you pick in Select Module | Forms and listings |
| Datasource Refresh | The listing whose button ran the action | Listing buttons |
Input Parameter Reference
| Parameter | Description | Supports Tokens | Default | Required |
|---|---|---|---|---|
| Select Module | The 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]. | Yes | empty | Yes |
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), where1234is the listing module ID. - Conditions. To refresh only in some cases, give it a condition, for example
"[Status]" == "Approved". See Common Parameters.
Examples
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