Date 基于用户区域设置的动态日期格式jqGrid搜索

Date 基于用户区域设置的动态日期格式jqGrid搜索,date,search,jqgrid,Date,Search,Jqgrid,我是第一次使用jqgrid,到目前为止,一切都很顺利。感谢开发者社区 我必须启用网格搜索,我做到了,搜索的数据类型除了日期。我已经尝试了几个小时,我的代码乱七八糟,但这次运气不好。请帮我输入,让我知道我遗漏了什么 网格的输入是salesforce的一个对象数组,我通过它构建colmodel。网格日期显示格式与salesforce用户区域设置同步(动态)。生产开始日期的列模型对于特定用户是这样的 {name:'Production_Start_Date__c', editable:false,

我是第一次使用jqgrid,到目前为止,一切都很顺利。感谢开发者社区

我必须启用网格搜索,我做到了,搜索的数据类型除了日期。我已经尝试了几个小时,我的代码乱七八糟,但这次运气不好。请帮我输入,让我知道我遗漏了什么

网格的输入是salesforce的一个对象数组,我通过它构建colmodel。网格日期显示格式与salesforce用户区域设置同步(动态)。生产开始日期的列模型对于特定用户是这样的

{name:'Production_Start_Date__c',
editable:false, 
index:'Production_Start_Date__c',
align:'center', width:'121',classes:'dtCls',
sorttype: 'int',
formatter:'date',
searchoptions: {sopt: ['eq'], 
               dataInit : function (elem){
                  j$(elem).datepicker({ changeYear: true,changeMonth: true, showButtonPanel: true});   }},
formatter: function (cellval, opts) {
if(cellval == undefined){return "";}
else{ var date1= new Date(parseInt(cellval)).toLocaleDateString("en-IN"); 
return (new Date(parseInt(cellval))).toLocaleDateString("en-IN");}}},
我确实尝试了一些srcformat和newformat格式选项,但没有突破。有人能帮我解决这个问题吗


一个重要的观察结果是,我看到搜索对话框搜索“1436140800000”等格式,而不是网格中显示的“03/16/2015”等格式。我希望我能附上截图。

我以前也遇到过同样的问题,并在服务器端解决了它。我认为最好的解决方案是完全准备数据并将其传递给jqGrid。所以jqGrid不需要对数据进行处理。此外,在服务器上检测用户的区域设置更容易。因此,最好在将数据传递给jqGrid之前进行任何转换。

感谢您的回复。如果您所引用的代码中的“格式化程序”部分执行格式化相关处理,我没有其他选择,我确实在服务器端以用户区域设置格式保存了日期,但如果我按原样将其发送到jqgrid,它将以毫秒格式呈现(1436140800000)。H一旦在格式化程序部分应用了转换,就会以正确的格式呈现。另外请注意,我的ColModel完全是基于某些配置在服务器端(Salesforce Apex)构建的。VisualForce和javascript用于在客户端渲染页面。欢迎使用!我认为更好的方法是在服务器端将毫秒格式转换为可读格式。在我的项目中,我在服务器端生成了colModel、colNames和其他选项,与您相同。我认为更好的方法是实现完全的主从结构。这意味着,服务器端是主服务器,jqGrid是从服务器。如果您想使用formatter来实现这一点,您需要在客户端确定用户的区域设置,这不是一个好的解决方案。我认为格式化程序非常容易操作,例如将数字映射到值。