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