【问题标题】:jqgrid date formatter example?jqgrid日期格式化程序示例?
【发布时间】:2011-10-29 15:21:56
【问题描述】:

有没有人有使用服务器端数据库的日期格式化程序的例子,或者你能指点我帮忙吗?

【问题讨论】:

    标签: jqgrid jqgrid-php jqgrid-formatter


    【解决方案1】:

    您可以在jqGrid wiki 上找到有关预定义格式化程序的信息。

    以下是如何在网格中使用日期格式的示例。 ShortDate 格式根据所选区域设置显示日期。您可以改用自己的格式,例如Y-m-d H:i:s。

    srcformat 描述服务器发送的日期格式,newformat 描述所需的输出格式。

    此示例包括searchoptions,它将确保您的用户可以在日期选择器的帮助下在网格上执行搜索时选择所需的日期。

    colModel :[ 
        { name:'startdate', index:'startdate', formatter:'date', 
            formatoptions: { srcformat:'m/d/Y', newformat:'ShortDate' }, 
            searchoptions: { sopt: ['eq','lt','le','gt','ge'],
                dataInit : function (elem) { 
                    $(elem).datepicker({ changeMonth: true, changeYear: true, 
                        dateFormat: 'yy-mm-dd' }); 
                }
            }
        }
    ]
    

    【讨论】:

    • 感谢您的回复和您提供的示例。不幸的是,我仍然不清楚这一点。例如,如果网格显示来自 mysql 的数据,我应该如何处理 mysql 日期字段。 Mysql 日期字段使用 yyyy-mm-dd 格式,但网格显示 mm-dd-yy。我使用了 srcformat:'Y-m-d' 和 newformat:'mm-dd-yy'。数据被正确读取和显示。但是,当我编辑条目(使用模式表单)时,更新不起作用,因为日期不是正确的 mysql 格式。过去,我认为格式化程序会自动处理这个问题,但现在似乎没有了。
    • 您需要将日期选择器格式指定为“yy-mm-dd”,这应该与 MySql 日期格式相同。
    【解决方案2】:

    我们还可以在 pozo 类中获取日期的瞬态字段,如果日期不为空,则检查 getter 方法,然后将其转换为 datetostring 。此外,我们必须在 jsp 中更改使用此 jqgrid 的位置,我们必须采用瞬态字段而不是日期字段。

    示例:

    (Pozo Class)
    
     transient private String indentDate_String;
    
      public String getIndentDate_String() 
      {
         if(indentDate != null)
         indentDate_String = DateConversion.dateToString(indentDate);
         return indentDate_String;
      }
    
    jqgrid (jsp form):
    colNames:['Indent Date'],
    colModel:[      
     {name:'indentDate_String',index:'indentDate',autoheight: true, width:100},
    ]
    

    【讨论】:

      猜你喜欢
      • 2011-09-22
      • 2012-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-30
      • 1970-01-01
      相关资源
      最近更新 更多