Hi Guys, to help you with coding or adding a Menu Action to an existing screen.
Level: Basic
Example Scenarios:
- Grouping Customized Reports
- Organized Action Buttons Folder instead of displaying all buttons in toolbar
First we need to define our Action Buttons
- Folder Action
- Action1
- Action2
Then we override the screen’s Initialize() or Initialization Process
Using public override void Initialize()
then we add the Actions to the Action Folder with this.ButtonFolder.AddMenuAction(ButtonItem1);
Furthermore, please include MenuAutoOpen = true
to make the button not clickable as button and will act as a dropdown button.
Please refer to the code below:
namespace PX.Objects.AP { public class APInvoiceEntry_Extension : PXGraphExtension<APInvoiceEntry> { public override void Initialize() { base.Initialize(); this.ButtonFolder.AddMenuAction(ButtonItem1); this.ButtonFolder.AddMenuAction(ButtonItem2); } public PXAction<PX.Objects.AP.APInvoice> ButtonItem1; [PXButton(CommitChanges = true)] [PXUIField(DisplayName = "ActionItem1")] protected void buttonItem1() { //code logic here } public PXAction<PX.Objects.AP.APInvoice> ButtonItem2; [PXButton(CommitChanges = true)] [PXUIField(DisplayName = "ActionItem2")] protected void buttonItem2() { //code logic here } public PXAction<PX.Objects.AP.APInvoice> ButtonFolder; [PXButton(SpecialType = PXSpecialButtonType.Report, MenuAutoOpen =true)] [PXUIField(DisplayName = "ActionFolder")] protected void buttonFolder() { //code logic here }
Just publish the Customization Project, and it will apply accordingly.
That’s it, have a nice development.