Zoeken…


Een vervolgkeuzemenu voor een scherm maken

Stel dat u een vervolgkeuzemenu moet definiëren voor een bepaald Acumatica-scherm, zoals het menu Rapporten in de volgende schermafbeelding.

voer hier de afbeeldingsbeschrijving in

Dit kan op drie verschillende manieren worden bereikt:

  • Door een werkbalk met een menu-item toe te voegen aan de ASPX van het scherm
  • Door een speciale "map" -actie aan de grafiek te verklaren en menu-items in de code toe te voegen
  • Door het automatiseringssubsysteem van het Acumatica Framework te gebruiken (wordt dit voorbeeld niet behandeld)

Optie 1: een vervolgkeuzemenu maken in ASPX

Zorg er allereerst voor dat het PXDataSource-element van de ASPX-pagina alle benodigde opdrachten bevat die overeenkomen met de grafische acties die u wilt uitvoeren wanneer u op een menu-item klikt.

<px:PXDataSource 
    ID="ds" runat="server" Visible="True" PrimaryView="TranslHistRecords" TypeName="PX.Objects.CM.TranslationHistoryMaint">
    <CallbackCommands>
        ...
        <px:PXDSCallbackCommand Name="TranslationDetailsReport" Visible="False"/>
        ...
    </CallbackCommands>
</px:PXDataSource>

Voeg vervolgens een aangepast werkbalkelement toe direct na het PXDataSource-element. Definieer hierin een PXToolbarButton met de gewenste vervolgkeuzemenu-items die zijn gekoppeld aan de respectieve gegevensbronopdrachten, zoals weergegeven in de volgende code.

<px:PXToolBar ID="toolbar1" runat="server" SkinID="Navigation" BackColor="Transparent" CommandSourceID="ds">
    <Items>
        <px:PXToolBarButton Text="Reports">
            <MenuItems>
                <px:PXMenuItem Text="Translation Details" CommandSourceID="ds" CommandName="TranslationDetailsReport"/>
            </MenuItems>
        </px:PXToolBarButton>
    </Items>
    <Layout ItemsAlign="Left" />
</px:PXToolBar>

Deze optie kan verleidelijk lijken vanwege de eenvoud; er is echter een belangrijk nadeel . Als u een dergelijke vervolgkeuzelijst implementeert op een scherm met een verwerkingsindicator (zoals een documentvrijgavescherm of een massaverwerkingsscherm), verschijnt de indicator links van uw vervolgkeuzemenu, zoals hieronder weergegeven.

voer hier de afbeeldingsbeschrijving in

Als dit niet wenselijk is, kunt u overwegen een vervolgkeuzemenu in de code te definiëren zoals beschreven in de sectie Optie 2 hieronder.

Optie 2: een menu in de grafiek maken

Verklaar eerst in de grafiek van de pagina een "map" -actie die overeenkomt met de vervolgkeuzelijst.

public PXAction<TranslationHistory> reportsFolder;
[PXUIField(DisplayName = "Reports", MapEnableRights = PXCacheRights.Select)]
[PXButton(SpecialType = PXSpecialButtonType.Report)]
protected virtual IEnumerable Reportsfolder(PXAdapter adapter)
{
    return adapter.Get();
}

Geef vervolgens in de constructor van de grafiek aan dat de actie inderdaad een vervolgkeuzemenu is en voeg alle acties toe die moeten worden weergegeven als menu-items, zoals hieronder wordt getoond.

public TranslationHistoryMaint()
{
    this.reportsFolder.MenuAutoOpen = true;
    this.reportsFolder.AddMenuAction(this.translationDetailsReport);
}

Als u deze aanpak selecteert, verschijnt de verwerkingsindicator altijd rechts van uw menu, wat aantoonbaar betere UX is.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow