2013-07-22 4 views
11

Ich habe ein KendoUI-Diagramm mit JavaScript generiert. Gibt es eine Möglichkeit, den PlotArea mit einem Befehl zu löschen? Um ein "Loading ..." -Bild anzuzeigen, während auf eine DataSource gewartet wird, um Remote-Daten zu lesen.KendoUI-Diagramm - Wie zeige ich Animation beim Laden von Daten an?

Dank

+0

Es ist ein komplettes Beispiel auf der Telerik docs Ort dafür: http://docs.telerik.com/kendo -ui/dataviz/chart/how-to/zeige-overlay-while-loading –

+0

Ich denke, sie haben es jetzt als Teil ihrer Bibliothek enthalten. War nicht der Fall vor 2 Jahren ... Danke für den Link! –

Antwort

19

anzeigen und die Lade Animation versteckt ist:

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

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

Dann sind Sie requestStart und requestEnd Ereignisse im DataSource zu wissen, verwenden sollten, wenn die Fortschritte Animation anzeigen oder ausblenden.

Die Datasource des Chart wäre:

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

    } 
}, 

Beispiel hier: http://jsfiddle.net/OnaBai/kcptr/

+0

Das ist eine saubere Lösung! Das einzige Problem ist, dass das geladene Bild in der Mitte der Seite hängt - ich habe mehrere Diagramme auf der Seite und das Ladebild muss daher im Diagrammbereich selbst enthalten sein: http://jsfiddle.net/ningencat/kcptr/ 2/Wie würden Sie dieses Problem beheben? Danke –

+2

Das Problem ist, dass der Container des Ladens eine Positionierung relativiert haben muss. Versuchen Sie Folgendes: http://jsfiddle.net/OnaBai/kcptr/3/ – OnaBai

+0

+1 Große Antwort. Vielen Dank! –

Verwandte Themen