网格过滤中的ExtJS 4日期提供空结果

时间:2013-06-15 11:01:25

标签: extjs extjs4

我尝试按日期过滤ExtJS4网格。

我有两个列,我填写如下:

{header: 'Start Date', width: 80, dataIndex: 'startdate', filter: { type: 'date', dateFormat: 'Y-m-d'}},
{header: 'End Date', width: 80, dataIndex: 'enddate', filter: { type: 'date', dateFormat: 'Y-m-d'}},

在网格中我看到了正确格式的日期,但是我要过滤的第二个(之前,之后,之后),我总是得到一个空的结果。我的数据存储是本地的(没有ajax),我想在本地过滤。

即使将其更改为默认的Y / m / d似乎也不起作用。

2 个答案:

答案 0 :(得分:2)

原因是模型中缺少类型。

在:

{name: 'startdate'},
{name: 'enddate'},

后:

{name: 'startdate', type: 'date'},
{name: 'enddate', type: 'date'},

对Amensrine的信用!谢谢!

答案 1 :(得分:0)

试试这个!

var filter = {
    ftype: 'filters',
    encode: false,
    local: false,
    filters: [{
        // required configs
        type: 'date',
        dataIndex: 'startdate',

        // optional configs
        dateFormat: 'm/d/Y',  // default
        beforeText: 'Before', // default
        afterText: 'After',   // default
        onText: 'On',         // default
    },{
        // required configs
        type: 'date',
        dataIndex: 'enddate',

        // optional configs
        dateFormat: 'm/d/Y',  // default
        beforeText: 'Before', // default
        afterText: 'After',   // default
        onText: 'On',         // default
}]};

var Grid = new Ext.grid.GridPanel({
    id: 'Grid',
    store: store...,
    features: [ filter ],
    columns : [...]
});

你也可以在这里看一下例子: http://docs.sencha.com/extjs/4.0.7/#!/api/Ext.ux.grid.filter.DateFilter