acumatica
사용자 인터페이스 기술
수색…
스크린 용 드롭 다운 메뉴 만들기
다음 스크린 샷의 보고서 메뉴와 같이 특정 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