处理 dojo gridx 中分页的更改事件

Posted

技术标签:

【中文标题】处理 dojo gridx 中分页的更改事件【英文标题】:Handling change event for pagination in dojo gridx 【发布时间】:2015-11-20 19:41:41 【问题描述】:

我正在使用 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】:

我在 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");
    ;
);

【讨论】:

以上是关于处理 dojo gridx 中分页的更改事件的主要内容,如果未能解决你的问题,请参考以下文章

隐藏字段上的 Dojo Onchange 事件

dojo gridx 不会从 JSONRest 存储中读取 - 我在这里缺少啥?

如何从 Dojo gridx detailProvider(Dod 模块)获取此 ref 以声明类

是啥导致我的 dojo GridX 出现奇怪的图形故障?

以编程方式更改值时触发 Dojo Select onChange 事件

通过事件处理程序启用 Dojo 按钮