수색…


스크린 용 드롭 다운 메뉴 만들기

다음 스크린 샷의 보고서 메뉴와 같이 특정 Acumatica 화면에 대한 드롭 다운 메뉴를 정의해야한다고 가정합니다.

여기에 이미지 설명을 입력하십시오.

이것은 세 가지 방법으로 달성 할 수 있습니다 :

  • 메뉴 항목이있는 툴바를 화면의 ASPX에 추가
  • 그래프에 특별한 "폴더"액션을 선언하고 코드에 메뉴 항목을 추가함으로써
  • Acumatica Framework의 자동화 하위 시스템을 사용하면 (이 예제에서는 다루지 않음)

옵션 1 : ASPX에서 드롭 다운 메뉴 만들기

먼저 ASPX 페이지의 PXDataSource 요소에 메뉴 항목을 클릭 할 때 수행 할 그래프 작업에 필요한 모든 명령이 포함되어 있는지 확인하십시오.

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

그런 다음 PXDataSource 요소 바로 뒤에 사용자 지정 도구 모음 요소를 추가하십시오. 그 안에 다음 코드와 같이 각 데이터 소스 명령에 연결된 원하는 드롭 다운 메뉴 항목이있는 PXToolbarButton을 정의하십시오.

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

이 옵션은 단순성 때문에 유혹을받을 수 있습니다. 그러나 한 가지 중요한 단점이 있습니다. 처리 표시기 (예 : 문서 릴리스 화면 또는 대량 처리 화면)가있는 화면에서 이러한 드롭 다운을 구현하면 아래에 표시된 것처럼 표시기가 드롭 다운 메뉴의 왼쪽에 나타납니다.

여기에 이미지 설명을 입력하십시오.

이것이 바람직하지 않은 경우 아래 옵션 2 단원에서 설명한대로 코드에서 드롭 다운 메뉴를 정의하십시오.

옵션 2 : 그래프에서 메뉴 만들기

먼저 페이지의 그래프에서 드롭 다운 메뉴 버튼에 해당하는 "폴더"액션을 선언하십시오.

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

그런 다음 그래프의 생성자에서 액션이 실제로 드롭 다운 메뉴임을 나타내고 아래에 표시된 것처럼 메뉴 항목으로 표시해야하는 모든 액션을 추가합니다.

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

이 방법을 선택하면 처리 표시기가 항상 메뉴 오른쪽에 나타나는데, 이는 아마도 더 나은 UX 일 것입니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow