gpt4 book ai didi

javascript - Webix:自定义页脚数据过滤器

转载 作者:行者123 更新时间:2023-11-28 06:17:21 31 4
gpt4 key购买 nike

我正在使用树表并实现了自定义数据过滤器。我只想在数据层次结构的第一层进行一些操作。你知道我怎样才能做到吗?

我将向您展示一些背景信息。在下面的 gif 中,当我单击打开内部数据时,总和(或平均值)会发生变化。高层计算出的这一信息有一次是错误的。

enter image description here

我只需要提出一个条件,这是第一级做一些事情。

这是我当前的代码。

<script>
webix.ui.datafilter.reports = {
refresh: function(master, node, column){
trackCells:false,
refresh: function(master, node, column){
var result = 0;
var tipoDeDados = null;

master.mapCells(null, column.columnId, null, 1, function(value){

if (tipoDeDados === null) {
tipoDeDados = defineTipoDeDados(value);
}

valorLimpo = removeCaracteresInvalidos(value);

result += valorLimpo; // here I think that I need the condition
return value;
});

if (tipoDeDados === "porcentagem") {
node.firstChild.innerHTML = (result/master.count()).toFixed(2).replace('.', ',') + '%';
} else if (tipoDeDados === "moeda") {
node.firstChild.innerHTML = 'R$ ' + (result).toFixed(2).replace('.', ',');
} else if (tipoDeDados === "numerico") {
node.firstChild.innerHTML = result;
} else {
node.firstChild.innerHTML = "";
}
},
render: function(a, b){}
};
</script>

Webix Docs 说我只需将 trackCells 设置为 false 即可避免重新加载数据过滤器,但当我通过 ajax 加载获取新数据时它不起作用。

最佳答案

通过下面的代码,我得到了我想要的结果。

webix.ui.datafilter.reports = {
trackCells:false,
refresh: function(master, node, value){
var result = 0;
var numberCellsAtFirstLevel = 0;
var tipoDeDados = null;

master.data.each(function(obj) {

currentValue = obj[value.columnId];

if (tipoDeDados === null) {
tipoDeDados = defineTipoDeDados(currentValue);
}

valorLimpo = removeCaracteresInvalidos(currentValue);

if (obj.$level == 1) {
result += valorLimpo;
numberCellsAtFirstLevel += 1
}

return currentValue;
});

if (tipoDeDados === "porcentagem") {
node.firstChild.innerHTML = (result/numberCellsAtFirstLevel).toFixed(2).replace('.', ',') + '%';
} else if (tipoDeDados === "moeda") {
node.firstChild.innerHTML = 'R$ ' + (result).toFixed(2).replace('.', ',');
} else if (tipoDeDados === "numerico") {
node.firstChild.innerHTML = result;
} else {
node.firstChild.innerHTML = "";
}
},
render: function(a, b){}
};

关于javascript - Webix:自定义页脚数据过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35846665/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com