2016-03-30 13 views
2

Я работаю с Dojo dgrid, и у меня проблема с фильтрацией dstore с использованием инструкции «или».Dojo dgrid dstore collection - «или» фильтр не работает

var today = new Date(); 
today.setHours(0,0,0,0); 

var start_date= new Date(); 
start_date.setDate(today.getDate() - 5); 
start_date.setHours(0,0,0,0); 

grid.set('collection', store.filter(
    new store.Filter().or(
      new store.Filter().gte('datefield1', start_date).lte('datefield1',today), 
      new store.Filter().gte('datefield2', start_date).lte('datefield2',today) 
    ) 
)); 

Оба условия отлично работает, когда они separatelly, но когда я их вместе в «или» фильтр работает как оператор «и»: оба должны быть «истинным» для возврата значений.

Как сделать заявление «или» правильно работать в djo dzhrid dstore?

ответ

0

Проблема была решена kfranqueiro от SitePen на их GitHub. Действительно Большое спасибо за его участие.

store.filter(function (item) { 
    return (item.datefield1 >= start_date && item.datefield1 <= today) || 
     (item.datefield2 >= start_date && item.datefield2 <= today); 
}); 

Полное обсуждение: https://github.com/SitePen/dgrid/issues/1265

+0

Кен всегда приходит на помощь! : D – Himanshu