我正在使用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被弃用了。
答案 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");
};
});