Skip to main content
Question

How to Display Custom Text in an Acumatica Grid Footer – Classic UI vs Modern UI

  • August 13, 2026
  • 1 reply
  • 23 views

KrunalDoshi
Semi-Pro II
Forum|alt.badge.img+6

Have you ever needed to display additional information below an Acumatica grid—for example, an availability message, status, instructions, totals, or other contextual information?

There are different approaches depending on whether the screen is using Classic UI or Modern UI.

Classic UI – Using StatusField


In Classic UI, Acumatica's PXGrid supports the StatusField property.

The general approach is:

  1. Add a PXString field to the DAC used by the grid.
  2. Set the grid's StatusField property to that field.
  3. Populate the field using a FieldSelecting event.

For example, suppose the grid is based on SOLine and we want to display a custom message.

1. Add a DAC extension field

public sealed class SOLineExt : PXCacheExtension<SOLine>
{
#region Availability
[PXString(255)]
[PXUIField(DisplayName = "Availability")]
public string UsrAvailability { get; set; }

public abstract class usrAvailability :
PX.Data.BQL.BqlString.Field<usrAvailability>
{
}
#endregion
}

2. Populate the value

You can populate the value using FieldSelecting:

protected virtual void _(Events.FieldSelecting<SOLine, SOLineExt.usrAvailability> e)
{
e.ReturnValue = "Text to be displayed in the grid footer.";
}

3. Set the grid's StatusField

In Classic UI, the grid can reference the field through StatusField:

<px:PXGrid
ID="grid"
runat="server"
DataSourceID="ds"
StatusField="UsrAvailability">
</px:PXGrid>

The value of UsrAvailability is then displayed in the grid's status/footer area.

The important point is that the field does not necessarily have to represent a database value. It can be a calculated/unbound field whose value is generated dynamically.

This is particularly useful when the message needs to change based on the currently selected grid record.

What About Modern UI?

This is where older examples need to be treated carefully.

The PXGrid/StatusField approach is a Classic UI implementation. Modern UI uses the newer Acumatica UI component architecture, so you should not assume that an old ASPX customization can simply be carried forward unchanged.

For Modern UI, the grid/table component provides a footerText property for displaying information in a column's footer area.

For example, the Modern UI framework supports setting footer text programmatically:

const column = grid.getColumn("SomeField");

if (column) {
column.footerText = "Text to be displayed in the grid footer.";
}

Acumatica's UI Component Guide also demonstrates using footerText to display calculated values in table/grid footer areas.

This is the preferred direction when implementing a Modern UI-compatible customization rather than relying on the Classic UI StatusField property.

Summary

If you are working with an older Classic UI screen, StatusField remains a useful technique:

StatusField="UsrAvailability"

with a corresponding DAC field and FieldSelecting event.

For Modern UI, however, the grid/table component model is different. When the requirement is to display information in a column footer, use the Modern UI footerText capability rather than manipulating the generated HTML.

This distinction becomes increasingly important as customizations are migrated from Classic UI to Modern UI.

1 reply

KrunalDoshi
Semi-Pro II
Forum|alt.badge.img+6
  • Author
  • Semi-Pro II
  • August 13, 2026

Hi ​@Chris Hackett, please change this post from question into conversation.