Fixing Disappearing Grid Issue on FormTab Screens in Acumatica
Introduction
In Acumatica customizations, you might encounter a curious client-side issue where a grid on a FormTab screen—specifically one with SkinID="Attributes"—disappears when hovering the mouse over it after a new record is created. This grid is typically bound to a BQL view defined in the graph. Fortunately, this visual glitch can be easily resolved by setting the autosize property in the ASPX file.
The Problem
After creating a new record on a FormTab screen, the grid that displays related data (using a BQL view from the graph) may vanish when the mouse hovers over it. This issue appears to be related to client-side rendering, likely caused by the grid’s layout and sizing configurations. The problem is especially prevalent in grids with the SkinID="Attributes", where dynamic resizing might not be handled correctly.
Scenario Example:
● The grid is defined on a tab with attributes.
● It uses a read-only BQL view (e.g., ChildInvoicesView) from the graph to display child records.
● After a new record is created, hovering the mouse over the grid causes it to disappear from view.
The Solution: Setting AutoSize in ASPX
A simple fix is to enable the AutoSize property in the grid declaration. This property forces the grid to adjust its dimensions dynamically, ensuring it remains visible even when new records are created or the user interacts with it.
ASPX Code Snippet:
Explanation:
● AutoSize Setting: The <AutoSize Enabled="True" MinHeight="250" /> element ensures that the grid maintains a minimum height and dynamically adjusts its size. This prevents the grid from collapsing or disappearing when the user interacts with it.
● Grid Configuration: The grid is configured with a specific SkinID="Attributes", which is known to be susceptible to this issue. Enabling autosize helps stabilize its rendering behavior.
● Graph View: The view (ChildInvoicesView) is used to bind the grid to the corresponding data records. This setup remains unchanged; the solution is entirely on the client-side in the ASPX file.
Conclusion
This issue is a prime example of how minor client-side settings can significantly impact user experience in Acumatica. By simply enabling the AutoSize property in your ASPX grid definition, you can prevent the grid from disappearing when hovering over it after a new record is created. This small change ensures a smoother and more reliable interface for your end-users.
Have you experienced similar issues with grid rendering in Acumatica? Share your tips and solutions in the comments below!