处理 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 gridx 不会从 JSONRest 存储中读取 - 我在这里缺少啥?
如何从 Dojo gridx detailProvider(Dod 模块)获取此 ref 以声明类