处理dojo gridx

时间:2015-11-20 19:41:42

标签: javascript pagination dojo.gridx

我正在使用dojo gridx1.3。 我的应用程序有很多数据,所以我在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被弃用了。

1 个答案:

答案 0 :(得分: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");
    };
});