RadListView - не удается вывести элементы с экрана
У меня есть RadListView на моей странице фильтров с флажками в них. Когда пользователь нажимает кнопку " Применить фильтр", я перебираю все параметры и проверяю, отмечены ли они. Проблема в том, что элементы, которые были за пределами экрана и пользователь не прокручивал, чтобы загрузить их, возвращают undefined
setTimeout(function(){
for (var i = 0; i < context.designs.length; i++) { //context.designs is the array of all designs
if(selectedDesigns.indexOf(context.designs[i].id) != -1){ //selectedDeigns is the list of designs user selected
console.log("checkd: "+context.designs[i].name);
var selCheckbox = page.getViewById("check"+context.designs[i].id);
console.log(selCheckbox);
if(selCheckbox != undefined)
selCheckbox.toggle();
else //if checkbox is undefined, I try scrolling to it and checking it after a timeout
checkSelectedBoxes(i);
}
}
}
function checkSelectedBoxes(i){
console.log(i);
designList.scrollToIndex(i);
setTimeout(function(){
var selCheckbox = page.getViewById("check"+context.designs[i].id);
console.log(selCheckbox);
if(selCheckbox != undefined)
selCheckbox.toggle();
}, 100);
}
Изменить: я добавил еще один тайм-аут, и теперь все флажки отображаются, но есть ли лучший вариант загрузки вне экрана элементов без прокрутки к ним. Этот метод чувствует себя... хаки?