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