Suche…


Erstellen eines Dropdown-Menüs für einen Bildschirm

Angenommen, Sie müssen ein Dropdown-Menü für einen bestimmten Acumatica-Bildschirm definieren, z. B. das Menü Berichte in der folgenden Abbildung.

Geben Sie hier die Bildbeschreibung ein

Dies kann auf drei verschiedene Arten erreicht werden:

  • Durch Hinzufügen einer Symbolleiste mit einem Menüelement zum ASPX des Bildschirms
  • Durch Deklarieren einer speziellen "Ordner" -Aktion in der Grafik und Hinzufügen von Menüelementen im Code
  • Verwendung des Automatisierungs-Subsystems des Acumatica Framework (nicht in diesem Beispiel enthalten)

Option 1: Erstellen eines Dropdown-Menüs in ASPX

Stellen Sie zunächst sicher, dass das PXDataSource-Element der ASPX-Seite alle erforderlichen Befehle enthält, die den Diagrammaktionen entsprechen, die Sie ausführen möchten, wenn Sie auf ein Menüelement klicken.

<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>

Fügen Sie anschließend ein benutzerdefiniertes Symbolleistenelement direkt nach dem PXDataSource-Element hinzu. Definieren Sie darin einen PXToolbarButton mit den gewünschten Dropdown-Menüelementen, die auf die entsprechenden Datenquellenbefehle verweisen, wie im folgenden Code gezeigt.

<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>

Diese Option kann aufgrund ihrer Einfachheit verführerisch erscheinen. Es gibt jedoch einen wichtigen Nachteil . Wenn Sie eine solche Dropdown-Liste auf einem Bildschirm mit einem Verarbeitungskennzeichen implementieren (z. B. ein Dokumentfreigabebildschirm oder ein Massenverarbeitungsbildschirm), wird das Symbol links neben Ihrem Dropdown-Menü angezeigt (siehe unten).

Geben Sie hier die Bildbeschreibung ein

Wenn dies nicht erwünscht ist, können Sie ein Dropdown-Menü im Code definieren, wie im Abschnitt Option 2 beschrieben.

Option 2: Erstellen eines Menüs in der Grafik

Zuerst deklarieren Sie in der Seitengrafik eine "Ordner" -Aktion, die der Dropdown-Menüschaltfläche entspricht.

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

Geben Sie anschließend im Konstruktor des Diagramms an, dass die Aktion tatsächlich ein Dropdown-Menü ist, und fügen Sie alle Aktionen hinzu, die als Menüelemente angezeigt werden müssen (siehe unten).

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

Wenn Sie diesen Ansatz wählen, wird das Verarbeitungskennzeichen immer rechts von Ihrem Menü angezeigt, was wahrscheinlich eine bessere UX ist.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow