2016-06-08 81 views
0

我正在爲MS CRM 2016編輯網格。我製作了HTML Web資源,它從CRM系統檢索記錄並將它們顯示在generateTable()函數中動態創建的表中。這可能需要一點時間,我想顯示加載gif,而generateTable()函數正在做這件事。 我正在使用XrmServiceToolkit來檢索,刪除,更新和創建新記錄。MS CRM HTML web資源加載屏幕

loadingScreen()函數隱藏表格的div,並顯示其中包含gif圖像的div ... stopLoadingScreen()則相反。

我的代碼看起來是這樣,但加載GIF沒有顯示在所有...

function onLoad(){ 
      loadingScreen(); 
      try{ 
       generateTable(); 
      } 
      catch(err){ 
       alert(err.toString()); 
      } finally { 
       stopLoadingScreen(); 
      } 
     } 

有沒有辦法,我失去了一些東西?有沒有解決這個問題的方法(也許用jQuery或者smth)?

回答

0

假設generateTable()是一個異步函數,加載屏幕和stopLoadingScreen函數被快速連續調用,所以你不會真正看到你的動畫gif。

如果generateTable();函數是使用XrmServiceToolkit方法檢索記錄的,你的stopLoadingScreen();函數應該在回調函數內部,處理generateTable函數內的try catch。

function onLoad() { 
    loadingScreen(); 
    generateTable(function() { 
     stopLoadingScreen(); 
    }); 
} 
+0

使用這種方法確實顯示了gif,但stopLoadingScreen()函數沒有得到執行。 – bocasa

+0

我必須修改generateTable();函數聲明爲了這個工作? – bocasa

+0

是的,您需要將回調傳遞給generateTable函數,因此您的函數應該如下所示:function generateTable(callback){//在xrmservicetoolkit調用之後if(callback && typeof(callback)===「function 「) 回電話(); } – dynamicallyCRM