Deze pagina toont een voorbeeld van een customizer voor het ingavescherm van een inventaris. De broncode is beschikbaar in het onderstaande zip-bestand.
De onderstaande code toont hoe:
- Een bevestiging gevraagd kan worden vóór het opslaan van de inventaris.
- Een bevestiging gevraagd kan worden vóór het verwijderen van een lijn.
- Code uitgevoerd kan worden na het verwijderen van een lijn.
- Code uitgevoerd kan worden vóór het wijzigen van een lijn.
De voorbeeldcodes getoond voor het Billing-scherm kunnen ook geïmplementeerd worden voor inventarissen.
using MercatorPenguin;
using MercatorPenguin.EditCustomizers;
namespace TestPenguinCustomizerInventory
{
public class CustomizerInventory : BaseEditInventoryCustomizer
{
public CustomizerInventory(ConstructorParams constructorParams) :
base(constructorParams)
{ }
public override async Task OnBeforeSaveAsync(BeforeSaveEventArgs e)
{
string lignes = string.Format("{0} lijn{1}", Lignes.Rows.Count, Lignes.Rows.Count > 1 ? "en" : "");
if (!await Dialogs.AnswerYesNo(Page, $"Wilt u de wijzigingen op deze inventaris met {lignes} echt opslaan?"))
{
e.CancelSave = true;
}
}
public override async Task OnBeforeDeleteLineAsync(BeforeDeleteLineEventArgs e)
{
if (!await Dialogs.AnswerYesNo(Page, $"Wilt u deze lijn {e.Ligne["id_art"]} op deze picking echt verwijderen?"))
{
e.CancelDeleteLine = true;
}
}
public override async void OnAfterDeleteLine(AfterDeleteLineEventArgs e)
{
await Dialogs.Stop(Page, $"De lijn werd succesvol verwijderd!");
}
public override async Task OnBeforeChangeLineAsync(BeforeChangeLineEventArgs e)
{
if (!await Dialogs.AnswerYesNo(Page, $"Wilt u de kolom {e.ColumnToChange} van deze lijn {e.Line["id_art"]} echt wijzigen met deze nieuwe waarde {e.NewValue}?"))
{
e.CancelChangeLine = true;
}
}
}
}
Te laden :
0000003452.zip (1 Kb - 13-05-2026)