Связанный индикатор выполнения теряется при расширении списка деревьев кендо
Я связал индикатор выполнения в древовидном представлении как дано.
<script id="progressField" type="text/x-kendo-template">
#if(CurrentStatus == "Progress")
{#
<div class='progressDetails'></div>
#}
else if(CurrentStatus == "Error")
{#
// Other task
#}
</script>
И добавил то же самое в древовидный список, как указано
columns: [
{ field: "CurrentStatus", title: "Status", template: $("#progressField").html(), width: "170px" }
],
И обновил то же самое на DataBound
function dataBound(e) {
var tree = this;
$(".progressDetails").each(function () {
var row = $(this).closest("tr");
var model = tree.dataItem(row);
$(this).kendoProgressBar({
change: function (e) {
if (model.CurrentStatus == "Progress") {
colorCode = "#235400";
}
this.progressWrapper.css({
"background-color": colorCode,
"border-color": colorCode
});
}
});
$(this).data("kendoProgressBar").value(model.Percentage);
});
};
При загрузке, сортировке и фильтрации дерева списка отображается индикатор выполнения. Однако, когда я нажимаю на стрелку расширения, индикатор выполнения не появляется.
1 ответ
Решение
Наконец, мы получили решение, проблема была развалена, и метод расширения очень скоро сработал.
Добавил тайм-аут, и он начал работать..
expand: function(e){
var scope = e
setTimeout(function(){
$scope.expandOrCollapse(scope);
}, 0)
}
вот рабочий дог.