2014-10-03 2 views
0

저는 SAPUI5가 새롭고 IconTabBar/IconTabFilter가 제가 만드는 페이지로 나를 도울 수 있다고 생각합니다. 내가하고 싶은 일을 할 수 있는지 확신 할 수 없지만 그렇게되기를 바랍니다 ....SAPUI5 IconTabBar/IconTabFilter 동적으로 작성하기

제품별로 그룹화 된 사용자 테이블이있는 페이지가 있습니다.

그래서 : 고객 XYZ

Product A 
User 1 
User 2 

Product B 
User 1 

I 사용자가 모든 것을 볼 또는 단지 특정 제품을 참조 할 수 있도록 IconTabBar를 사용하고 싶습니다 (A 또는 B). 내 질문은 IconBar 및 필터링을 동적으로 만들 수 있습니까? 예를 들어, 모든 고객이 반드시 하나 이상의 제품을 보유하고있는 것은 아닙니다. 따라서 json 호출에서 가능한 제품을 받고 반품 된 제품의 아이콘 만 표시 할 수 있기를 원합니다.

내 XML 파일이 현재처럼 배치되어

다음 (코드의 일부를 떠나 더 쉽게 볼 수 있도록하기 위해) :

'custdata'내가 가지고에서
<Shell> 
    <Page title="{/columnValue} Details" showNavButton="true" navButtonPress="goBack"> 
    <ObjectHeader> 
    </ObjectHeader> 
     <IconTabBar> 
      <items> 
        <IconTabFilter showAll="true" count="{/custData/cust/prodcnt}" text="Products" keys="All"> 
         <Table inset="false" items="{ path:'/columnData', sorter: {  path: 'productName', descending: false, group: true } }"> 
          <columns> 
             //column headings definition is here    
          </columns> 
          <items> 
            /// column values defined 
          </items> 
         </Table> 
       </IconTabFilter> 
      </items> 
     </IconTabBar> 
    </Page> 
</Shell> 

제품 수를 (그림 참조) (방법 많은 고객이 있습니다) 제품은 custdata/prod (어레이)에 저장됩니다. 그래서 제품에 대한 탭/필터를위한 별도의 아이콘을 만들고 싶습니다. 각 고객이 다른 고객보다 많거나 적을 수 있으므로 페이지를 표시 할 때 동적으로 생성되도록 추가 할 수 있습니까? 내가 본 예제는 하드 코딩 가능한 탭/필터 인 것 같아서 내가하고 싶은 것을 할 수 있는지 알지 못합니다. 나는 그것이 정말로 나를 도울 것이기 때문에 그렇게되기를 바란다.

답변

0

이 작업을 수행 할 수 있어야한다고 생각합니다.

항목 집계는 모델의 데이터에 바인딩되어야하며 조정해야합니다. 여기

예 :

var model = new sap.ui.model.json.JSONModel(); 
model.setData(
{ 
    filter: [ 
     { icon: "sap-icon://hint", text: 'hint'}, 
     { icon: "sap-icon://comment", text: 'comment'}, 
     { icon: "sap-icon://attachment", text: 'attachment'}, 
     { icon: "sap-icon://history", text: 'history'}, 
    ] 
}); 

var iconTabBar = new sap.m.IconTabBar("iconTabBar", { 
    expandable: true, 
    expanded :true, 
}); 

iconTabBar.setModel(model, "itbModel"); 
iconTabBar.bindAggregation("items", "itbModel>/filter", new sap.m.IconTabFilter({icon: "{itbModel>icon}", text:"{itbModel>text}"})); 

합니까이 도움 당신은?

+0

감사합니다. 나는 그것을 시도 할 것이다. XML을 변경하거나 코드를 컨트롤러에 추가 할 수 있습니까? 내 데이터를 얻은 후에 화면을 초기화 할 때 코드를 추가 할 수 있다고 생각합니다. 나는 ID를 추가해야하는지 또는 아이콘 막대가 화면에 있으면 모든 변경되지 않을지 궁금합니다. – user3861284

관련 문제