Я хочу показать всплывающее окно с некоторым сообщением пользователю, когда экран загружается впервые для каждой записи.
Например, когда экран заказа на продажу загружен для определенного заказа на продажу, всплывающее окно должно отображаться только один раз. Затем пользователь переходит к следующему заказу на продажу, он должен снова показывать всплывающее окно для этого конкретного заказа на продажу только один раз.
Я написал код в конструкторе и событии RowSelected, но он не имеет текущей записи. То есть CRCurrentCaseNotes
всегда равно нулю в обоих этих событиях. Однако с кнопкой (ViewNotes
в приведенном ниже примере кода) это работает.
[PXViewName("CRCurrentCaseNotes")]
[PXCopyPasteHiddenView]
public PXSelect<Note,
Where<CRCase.caseID, Equal<Current<CRCase.caseID>>>> CRCurrentCaseNotes;
public CRCaseMaintExtension()
: base()
{
if (CRCurrentCaseNotes.Current != null)
{
CRCurrentCaseNotes.AskExt();
}
}
protected virtual void CRCase_RowSelecting(PXCache cache, PXRowSelectingEventArgs e)
{
var caseRow = (CRCase)e.Row;
if (caseRow == null) return;
if (CRCurrentCaseNotes.Current != null)
{
CRCurrentCaseNotes.AskExt();
}
}
// SAME CODE WORKS WITH THE BUTTON CLICK
public PXAction<CRCase> viewNotes;
[PXUIField(DisplayName = "View Notes")]
[PXButton]
protected virtual IEnumerable ViewNotes(PXAdapter adapter)
{
if (CRCurrentCaseNotes.Current != null)
{
CRCurrentCaseNotes.AskExt();
}
return adapter.Get();
}