Unten ist mein Code, um den Wert einzugeben, der in meinem UsrWLAmt-Feld in mein BudgetGrid eingegeben wird, das den Verlauf der Feldwerte darstellt.Wie SetPropertyException von einem anderen Ereignishandler aufgerufen wird?
Ich möchte eine Warnung erhöhen Benutzer auffordert, in der BudgetGrid Geschichte
protected void PMProject_UsrWLAmt_FieldUpdated(PXCache cache, PXFieldUpdatedEventArgs e, PXFieldUpdated InvokeBaseHandler)
{
if(InvokeBaseHandler != null)
InvokeBaseHandler(cache, e);
var row = (PMProject)e.Row;
PMProject con = Base.Project.Current;
PX.Objects.PM.ProjectExt item = con.GetExtension<PX.Objects.PM.ProjectExt>();
if (item.UsrWLAmt > 0)
{
atcBudgetHis bud = new atcBudgetHis();
bud.CreatedDateTime = DateTime.Now;
bud.Value = item.UsrWLAmt;
BudgetGrid.Insert(bud);
// to attach the exception object to the field
BudgetGrid.View.Cache.RaiseExceptionHandling<atcBudgetHis.details>(
bud, " ",
new PXSetPropertyException(
"Please specifiy reason for budget change.",
PXErrorLevel.Warning));
}
}
Ich habe auch
versucht, einen Wert in die Details Feld eingebenDer obige Code doesn BudgetGrid.Cahce.RaiseExceptionHandling Keine Spurfehler.
EDIT:
PXUIFieldAttribute.SetWarning<atcBudgetHis.details>(BudgetGrid.Cache, null, "Please specifiy reason for budget change.");
Works für alle Zeilen, aber
PXUIFieldAttribute.SetWarning<atcBudgetHis.details>(BudgetGrid.Cache, bud, "Please specifiy reason for budget change.");
wirft keine Warnungen.
Ich könnte ein anderes Feld über dem Raster für die einzufügenden Notizen erstellen, aber gibt es eine Möglichkeit, die Warnung für die letzte Zeile im BudgetGird festzulegen?
Danke, aber dieses Ereignis durch ein Feld ausgelöst wird über meinem PXGrid sitzt. Die Verwendung von row als zweitem Parameter in SetWarning gibt keine Warnung und keinen Fehler, da er im atcBudgetHis-DAC nach PMProject sucht – nickivey