我目前正在网格面板上的列上使用SQL时间戳(日期和时间)值。为了正确过滤,我需要列标题上的日期和时间菜单。结合使用“日期”和“数字”类型就足够了。
换句话说,我需要具有日期和数字类型过滤器菜单的列标题菜单。如何管理将两种过滤器类型应用于列标题菜单?如果那不能直接起作用,那么如何构建一个结合日期和数字类型的自定义过滤器?
数字类型:
编辑:在@abeyaz帮助下,我设法用数字和日期字段构建了一个自定义列过滤器。虽然,我无法找到一种方法来更改适用于商店的远程过滤器的字段上的值。我应该如何设置用户在数字字段上按Enter键时要调用的事件,例如,更改商店过滤器数组?
答案 0 :(得分:2)
没有内置的日期时间网格过滤器。但是,您可以自己轻松实现它。首先,检查日期过滤器代码。您必须像日期类一样,创建一个扩展Ext.grid.filters.menu.DateTime
的类Ext.grid.filters.menu.Base
。你能做的是而不是在datefield
中使用items
,应该使用包含datefield
和timefield
的字段容器。以下示例将为您提供一个想法:
menu: {
items: {
lt: {
xtype: 'fieldcontainer',
label: 'Before',
placeholder: 'Before...',
operator: '<',
weight: 10,
items: [
{
xtype: 'datefield',
flex: 1,
listeners: {
change: 'up.onInputChange'
}
},
{
xtype: 'timefield',
width: 80,
listeners: {
change: 'up.onInputChange'
}
}
]
}
}
}
但是,由于项目不同,您还必须重写过滤方法以使其正常工作。我为fully working example
创建了一个小提琴