2

Dojo dgrid を使用していますが、「or」ステートメントを使用した dstore フィルタリングに問題があります。

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)
    )
)); 

両方の条件は、別々の場合は完全に機能しますが、それらを「or」フィルターにまとめると、「and」ステートメントのように機能します。値を返すには、両方が「true」である必要があります。

Dojo dgrid dstore で "or" ステートメントを正しく機能させるにはどうすればよいですか?

4

1 に答える 1

0

問題は、GitHub の SitePen の kfranqueiroによって解決されました。彼の関与に本当に感謝します。

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

于 2016-04-03T09:19:17.660 に答える