Skip to main content
Question

PXHtmlView Not Refreshing After Callback Inside PXGridWithPreview Preview Panel, Acumatica 25R2

  • April 10, 2026
  • 0 replies
  • 10 views

What We Are Building

We have a customization on the Cases screen that adds a Sub Tasks grid using PXGridWithPreview. Each sub task has a ChatLog field (PXDBText) that stores an HTML chat-style log, and a MessageText field (PXString, unbound) for the user to type a new message. A Send button appends the message to ChatLog and saves it to the database via a PXAction.

The preview panel shows the message input (PXRichTextEdit) and the chat log (PXHtmlView) below it.

The Problem

After clicking Send, the ChatLog in the database updates correctly. However, the PXHtmlView displaying ChatLog in the preview panel does not refresh — it still shows the old content. The user has to click away to another row and come back to see the updated chat log.

What We Have Already Tried

Server side:

  • CaseSubTasks.Cache.Clear() and CaseSubTasks.Cache.ClearQueryCache() after save
  • Re-fetching the record via PXSelect and reassigning CaseSubTasks.Current
  • CaseSubTasks.View.RequestRefresh()

ASPX side:

  • RepaintControls="All" on the button AutoCallBack
  • RepaintControlsIDs="htmlChatLog" explicitly targeting the control
  • RenderStyle="Simple" on the PXHtmlView
  • Wrapping PXHtmlView in a PXFormView with explicit DataMember
  • Adding PXTab inside the preview panel with two tabs
  • Replacing PXHtmlView with PXRichTextEdit in readonly mode
  • Replacing PXHtmlView with PXTextEdit in readonly mode (to test binding)

JavaScript side:

  • Using px_all['htmlChatLog'].refresh() via ClientEvents AfterRepaint
  • Using px_all['grdAActivities'].selectRow() to force row reselect after send
  • Hooking PXCallbackManager.prototype.processCallback — fails with PXCallbackManager is not defined in the iframe context
  • Intercepting XMLHttpRequest to detect submitMessage callback and trigger row reselect — causes an infinite loop of CaseSubTasks$RefreshPreview callbacks