Skip to main content
Question

TypeScript Extension Not Applying on Approvals Screen (EP503010) – Trying to Make Grid Scrollable in Modern UI

  • August 12, 2026
  • 1 reply
  • 21 views

Hello,

I am trying to make the records on the Approvals screen scrollable on Modern UI, rather than going through pages using the Next button. The screen is scrollable in Classic UI by default, without any screen-level change.

For this requirement, I added a TypeScript extension as below:
 

import {
    removeDecorator,
    gridConfig,
    GridPreset,
    GridFilterBarVisibility,
    GridNoteFilesShowMode,
    GridPagerMode,
} from "client-controls";
import { EPApproval } from "src/screens/EP/EP503010/EP503010";

export interface EPApproval_P24KEPApprovalsRecordsPerScreen_converted extends EPApproval {}

@removeDecorator("gridConfig")
@gridConfig({
    preset: GridPreset.Processing,
    showFilterBar: GridFilterBarVisibility.OnDemand,
    allowUpdate: false,
    showNoteFiles: GridNoteFilesShowMode.Suppress,
    defaultAction: "EditDetail",
    pagerMode: GridPagerMode.InfiniteScroll,
    adjustPageSize: false,
})
export class EPApproval_P24KEPApprovalsRecordsPerScreen_converted {}

 

But even after publishing the code, the changes are not reflecting/applying on the Approvals screen, and I could not make the Grid section scrollable. I checked the Payload on the Network tab while inspecting the screen, but the changes from my TypeScript extension were not applied.

Am I not attaching the TypeScript extension correctly, or is my TypeScript code itself not what it should be?
 

Any help or guidance would be really appreciated.
 

I have also attached screenshots for reference — one showing the screen and Network payload, and one showing how I have added my extension file to the Customization Project.

 

Approvals Screen 


 

Added TypeScript Extension


Kind Regards,
Dhruv

1 reply

Forum|alt.badge.img+3
  • Captain II
  • August 13, 2026

In Modern UI, gridConfig must be applied to the view class that represents the grid, not to the screen class itself. Acumatica's 2026 R1 documentation shows @gridConfig being placed on the PXView class for the table.

Your code currently applies it to:

export class EPApproval_P24KEPApprovalsRecordsPerScreen_converted {}

which is an extension of the screen, so it won't change the grid's configuration.

You need to find the view/grid class inside EP503010.ts that is bound to the Approvals grid, something like:

export class EPOwned extends PXView
{
    // fields...
}

Then customize that view:

import {
    PXView,
    gridConfig,
    removeDecorator,
    GridPreset,
    GridFilterBarVisibility,
    GridNoteFilesShowMode,
    GridPagerMode
} from "client-controls";

import { EPOwned } from "src/screens/EP/EP503010/EP503010";

export interface EPOwned_Ext extends EPOwned {}

@removeDecorator("gridConfig")
@gridConfig({
    preset: GridPreset.Processing,
    showFilterBar: GridFilterBarVisibility.OnDemand,
    allowUpdate: false,
    showNoteFiles: GridNoteFilesShowMode.Suppress,
    defaultAction: "EditDetail",
    pagerMode: GridPagerMode.InfiniteScroll,
    adjustPageSize: false
})
export class EPOwned_Ext {}

The exact view name should be confirmed from your 26R1 EP503010.ts file.