JQGrid日期时间高级过滤器

JQGrid日期时间高级过滤器,jqgrid,Jqgrid,我被困在这里——在投入生产之前要做的最后一件事 来自oracle的日期格式如下:“8/14/2012 10:46:48 AM” 我在jqgrid上使用以下内容: { name: 'CreationDate', index: 'CreationDate', formatter: 'date', formatoptions: { 'srcformat': 'ISO8601Long', 'newformat': 'm/d/Y - g:i A' }, sorttype: 'date', width

我被困在这里——在投入生产之前要做的最后一件事

来自oracle的日期格式如下:“8/14/2012 10:46:48 AM”

我在jqgrid上使用以下内容:

{ name: 'CreationDate', index: 'CreationDate', formatter: 'date', formatoptions:    { 'srcformat': 'ISO8601Long', 'newformat': 'm/d/Y - g:i A' }, sorttype: 'date', width: 95, align: 'right', resizable: false },
我在网格上显示了以下内容:“2012年8月14日-上午10:46”

问题是当我尝试使用高级过滤器时,它不起作用。我猜是因为时间关系,有什么建议可以解决这个问题吗

更新

奥列格,我复制了你发布的代码和你的更改,但仍然一无所获。我正在使用高级过滤器。谢谢你的帮助,我真的非常感谢。我希望我能送你一些啤酒到德国:o)


我认为主要问题是您在
newformat
中使用了
g
格式,jqGrid目前不支持这种格式进行本地筛选/搜索。您可以尝试改用
H
格式。或者,您可以使用中描述的修复程序

更新:显示在应用我引用的修复程序后,可以将高级搜索对话框与
格式化程序:“日期”,格式化选项:{'srcformat':'ISO8601Long','newformat':'m/d/Y-g:ia'}
一起使用。您可以尝试演示并输入我在下图中使用的相同数据(
10/04/2012-5:55 PM
)。您必须看到以下结果:

更新2:在为您准备另一个演示的过程中,我在内部函数中又发现了一个bug。问题在于,只有当需要解析的日期包含格式指定的相同元素时,
parseDate
函数的当前实现才能正常工作。例如,日期
10/04/2012
将使用
'm/d/Y-g:ia'
格式进行不正确的解析。要修复该错误,可以包括以下行

if(日期类型[k]=“未定义”){continue;}
作为主体的第一行。您可以获得的
jquery.jqGrid.src.js的固定版本

在演示中,我使用了的
multipleSearch:true
选项。因此,可以指定日期间隔,如


2012年4月10日更多信息,json数据显示数据为“2012-08-14T10:46:48”。如果我在过滤器上输入2012-08-14,它会很好地过滤,但是如果我输入08/14/201,它不会过滤,谢谢你的回复,但仍然不起作用。我将格式更改为H{'srcformat':'ISO8601Long','newformat':'m/d/Y-H:ia'},但没有帮助过滤器仅在我键入wat时工作,数据来自json“2012-08-14”。如果我试图实现其他答案,那么我必须键入所有内容,包括时间。你觉得我还有别的办法吗?再次感谢。是否只为该日期列编写自定义筛选器?@user1409155:对不起,在应用我引用的修复程序后,我看不到数据筛选有任何问题。我为你做了演示,演示了所有的工作都是正确的。请参阅我答案的更新部分。再次感谢Oleg。过滤器的问题是,我必须键入整个内容进行搜索。i、 e.我无法过滤所有2012年5月10日的数据,它不会返回任何结果。我必须进入1012年5月10日上午7:10。这有意义吗?@user1409155:请参阅答案的第2部分。