2016-07-08 1 views
-2

내 HANA 테이블은 20 개의 필드로 구성되어 있지만 브라우저에서 XML보기를 통해 각 레코드의 5 개 필드 만 표시하도록하고 싶습니다. 그러나 다시 브라우저에서 특정 행을 클릭하면 해당 레코드의 20 개 필드를 모두 볼 수 있습니다. 그게 어떻게 가능할까요?보기에서 몇 개의 필드를 보는 방법 그러나 나중에 레코드를 클릭하면 모든 필드가 표시되어야합니까?

+0

그래서 5 개의 열이있는 테이블이 있고 선택한 테이블 행에만 20 개의 열을 표시 하시겠습니까? UI 디자인이 어떻게 생겼는지 궁금합니다. – Qualiture

+0

"?" 영어로. – peterh

답변

0

이것은 고전적인 마스터 디테일 패턴이며 아주 잘 해결할 수 있습니다.

items="{ 
     path: '/AwesomeStuff', 
     parameters: { 
      select: 'Id,Name' 
     } 
    }" 

: 마스터보기에서

, 당신은 당신이 select 매개 변수를 사용한다, 보통에 따라 설정 중 하나로, OData 엔티티 테이블의 바인딩을 설정할 수 있지만 필드의 번호가 전송되는 제한 테이블에 ColumnListItempress 이벤트가 구현되어야하며 해당 이벤트 핸들러에서 라우터를 사용하고 예를 들어 탐색하는 것이 가장 좋을 것입니다. 경로 /AwesomeStuff/12345.

세부 정보보기에서 마스터에서 일어나는 일에 응답하는 핸들러를 만들어야합니다. 항해. ,

this.getRouter().getRoute("AwesomeStuff").attachMatched(this.onRouteMatched, this); 

onRouteMatched 핸들러의 구현에 의해 기록 된 데이터의 전체 집합에 상세보기를 결합 : 당신은 예를 들어, 상세보기에서 라우터에 이벤트 처리기를 바인딩하여이 작업을 수행 할 수

this.getView().bindElement({ 
     path: this.getModel().createKey(
      "/AwesomeStuff", 
      { Id: oEvent.getParameter("arguments").Id }) 
    }}); 

bindElement 메서드는 (자세히) 뷰를 단일 OData 요소 (목록이 아님)에 바인딩합니다. 이 요소가 ODataModel에 캐시되면 재사용됩니다. 그러나 캐시에 없으면 서버에 요청합니다. 상세보기의 전체 데이터 세트 (기본값)를 원할 경우 select 매개 변수를이 호출에서 제외 할 수 있습니다.

일부 코드 샘플을 찾으려면 SAP WebIDE의 "SAP Fiori Master-Detail Application"템플리트에서 새 프로젝트를 생성하십시오.

+0

저는 UI5를 처음 사용합니다 ... 자세히 설명해 주시겠습니까? –

+1

그것은 이미 아주 정교한 대답이었습니다. 어느 부분을 더 명확하게해야합니까? – jpenninkhof

+0

자세히보기에서 데이터를 가져올 수 없습니다 .. 자세히 cntrlr code-onInit : function() { \t \t var oRouter = sap.ui.core.UIComponent.getRouterFor (this); \t \t \t \t oRouter.getRoute ("home"). attachMatched (this._onObjectMatched, this); \t \t \t \t }의 \t \t는 _onObjectMatched : 함수 (oEvent) { \t \t \t VAR의 oArgs, oView 단계; \t \t \t oArgs = oEvent.getParameter ("arguments"); \t \t \t oView = this.getView(); \t \t \t oView.bindElement ({ \t \t \t \t 경로 : this.getModel().createKey ( \t \t \t \t "/ jobdetails" \t \t \t \t {ID :. oEvent.getParameter ("인자") ID}) \t \t \t}); \t \t \t console.log ('id :'+ oEvent.getParameter ("arguments"). Id); \t \t} –