Я использую трещины, и я применил пользовательский фильтр данных. Я просто хочу выполнить некоторую операцию на первом уровне иерархии данных. Вы знаете, как я могу это сделать?Webix: пользовательский нижний колонтитул datafilter
Я покажу вам некоторый контекст. В gif ниже, когда я нажимаю, чтобы открыть внутренний уровень данных, сумма (или средняя) изменяется. Неправильно один раз, когда высокий уровень вычисляет эту информацию.
мне просто нужно поставить условие, это первый уровень сделать что-то.
Вот мой текущий код.
<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 ложного, чтобы избежать перегрузок фильтра данных, но он не работает, когда я получил новые данные через AJAX загрузку.
Кто-то может мне помочь? – rjsandim