2016-08-18 1 views
0

난 내가UI5 나무 테이블 확장 노드 목록

지금 내가

<table:TreeTable selectionMode="MultiToggle" 
    enableSelectAll="false" rowHeight="40" 
    toggleOpenState="onOpenParent" 

컨트롤러 내가 코드와이

을 확대하는 rowIndex에 걸릴 코드가 확장 된 노드를 얻을 필요가 tree table가 되세요 아래

onOpenParent : function(oControlEvent) 
     { 
      var rowIndex = oControlEvent.getParameter('rowIndex'); 
      .... 

그러면 열리는 rowIndex에 알려줍니다.

문제 :

treeModel에이 rowIndex에를 변경

어떤 일 후 트리 모델이 변경 만 5 행되었고, 나는 10 개 행이 예를 들어 유효하지 않습니다.

rowIndex가 7로 확장되면 7 행이 유효하지 않으므로 지금은 5 행만 있습니다.

잘못된 상태에 도달하면이 색인을 삭제해야합니다. 또는 렌더링 후에 확장 된 노드를 가져와야합니다.

더 좋은 방법은 무엇입니까?

답변

0

이것은 우리가 할 수있는 방법입니다. 그러나 어떤 사람들은 그것을하기 위해 다른 방법을 제안합니다.

우리는 우리가 코드를 아래에 사용할 수있는 모델이나 테이블 onAfterRendering에 데이터를 업데이트 한 후 확장되는 찾을 수 있습니다

  var allRows = this.oTable.getRows(); 
     for(r=0;r<allRows.length;r++) 
     { 
      var isExpanded = this.oTable.isExpanded(r); 
      console.log("Row : "+r+" isExpanded:"+isExpanded); 
     }