2013-07-22 6 views
11

JavaScript로 생성 된 KendoUI 차트가 있습니다. 명령으로 플롯 영역을 지울 수 있습니까? DataSource가 원격 데이터를 읽길 기다리는 동안 "Loading ..."이미지를 표시 할 목적으로. 표시 및 로딩 애니메이션을 숨기고KendoUI 차트 - 데이터를로드하는 동안 애니메이션을 표시하려면 어떻게해야합니까?

덕분에

+0

완벽한 예제는 Telerik의 문서 사이트에 대한 있습니다 : http://docs.telerik.com/kendo -ui/dataviz/chart/how-to/show-overlay-while-load –

+0

나는 그들이 도서관의 일부로 포함 시켰다고 생각한다. 2 년 전 사건이 아니 었습니다 ... 링크를 가져 주셔서 감사합니다! –

답변

19

입니다 :

// Display progress 
kendo.ui.progress($("#loading"), true); 

// Hide progress 
kendo.ui.progress($("#loading"), false); 

그런 다음 표시하거나 진행 애니메이션을 숨길 때 알고에 대한 DataSource에서 requestStartrequestEnd 이벤트를 사용해야합니다.

차트의 데이터 소스는 다음과 같습니다 여기

dataSource : { 
    transport : { 
     read: { 
      url:... 
     } 
    }, 
    sort  : { 
     field: "year", 
     dir : "asc" 
    }, 
    requestStart: function() { 
     kendo.ui.progress($("#loading"), true); 
    }, 
    requestEnd : function() { 
     kendo.ui.progress($("#loading"), false); 

    } 
}, 

예 : http://jsfiddle.net/OnaBai/kcptr/

+0

그것은 깔끔한 해결책입니다! 유일한 문제는 페이지 중간에 로딩 이미지가 멈추는 것입니다. 페이지에 여러 개의 차트가 있으므로 로딩 이미지가 차트 영역 내에 포함되어야합니다 : http://jsfiddle.net/ningencat/kcptr/ 2/그 문제를 해결하는 방법에 대해 어떻게 생각하십니까? 감사합니다 –

+2

문제는 로딩 컨테이너가 상대적으로 설정된 포지셔닝을 가져야한다는 것입니다. 이것을 시도하십시오 : http://jsfiddle.net/OnaBai/kcptr/3/ – OnaBai

+0

+1 좋은 답변입니다. 감사! –