2015-11-20 29 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"); 
    }; 
});