1

我尝试按日期过滤 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 似乎也不起作用。

4

2 回答 2

2

原因是模型中缺少类型。

前:

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

后:

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

归功于阿门斯林!谢谢!

于 2013-06-15T12:20:08.737 回答
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

于 2015-09-17T07:58:39.840 回答