0

我正在使用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 被弃用了。

4

1 回答 1

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");
    };
});
于 2015-11-29T17:47:29.843 回答