2015-11-20 33 views
0

我正在使用dojo gridx1.3。 我的應用程序有很多數據,所以我在gridx中使用分頁(多個頁面)。在dojo gridx處理分頁事件的變更事件

我正在嘗試處理更改頁面事件並突出顯示特定文本更改顏色。

1.處理頁面更改事件。 2.檢查所有單元格中的每個值。 3.如果符合條件,請更改文字顏色。

以下樣品可以實現我的要求。 是否有任何有效的方法來處理頁面更改事件和更改文本的顏色。

<script type="text/javascript"> 
//<![CDATA[ 
window.onload = function() { 
    function setColorFunc() { 
    var ele = document.getElementsByClassName("gridxBody")[0].getElementsByTagName("td"); 
    var chktxt, sp; 

    for(var i = 0; i < ele.length; i++) { 
     chktxt = ele[i].textContent; 
     sp = Number(chktxt.split("-")[1]); 
     if(sp % 3 == 0) { 
     ele[i].classList.add("colorRed"); 
     } 
    } 
    } 

    var tableBody = document.getElementsByClassName("gridxBody")[0]; 

    tableBody.addEventListener("DOMSubtreeModified", setColorFunc); 

}; 
//]]> 
</script> 

我聽說DOMSubtreeModified已被棄用。

回答

0

我發現瞭如何處理dojo.gridx分頁中的換頁事件。 pagination.onSwitchPage可以處理事件。 請參考下面的代碼。

require([ 
    'dojo/parser', 
    'gridx/tests/support/data/MusicData', 
    'gridx/tests/support/stores/Memory', 
    'gridx/Grid', 
    'gridx/core/model/cache/Sync', 
    'gridx/allModules', 
    'dojo/domReady!' 
], function(parser, dataSource, storeFactory){ 

    store = storeFactory({ 
     dataSource: dataSource, 
     size: 100 
    }); 

    layout = dataSource.layouts[7]; 

    first = function(){ 
     grid1.pagination.gotoPage(0); 
    }; 
    last = function(){ 
     grid1.pagination.gotoPage(grid1.pagination.pageSize() - 1); 
    }; 
    prev = function(){ 
     grid1.pagination.gotoPage(grid1.pagination.currentPage() - 1); 
    }; 
    next = function(){ 
     grid1.pagination.gotoPage(grid1.pagination.currentPage() + 1); 
    }; 

    parser.parse(); 

    orgEv = grid2.pagination.onSwitchPage; 
    grid2.pagination.onSwitchPage = function() { 
     orgEv(); 
     alert("switchPage"); 
    }; 
});