-1

我定义了以下列模型-

{
    name: 'from',
    index: 'from',
    formatter: 'date',
    formatoptions: {srcformat:'ISO8601Long', newformat:'d-M-y H:i'},
    editable: true,
    edittype: 'text',
    editoptions: {
        maxlengh: 16,
        dataInit: function(element) {
            $(element).datetimepicker({
                dateFormat: 'yy-mm-dd',
                timeFormat: 'hh:mm',
                separator: ' ',
                timezone: '000'
            });
        }
    }
}

日期在网格中显示时被正确格式化为“dMy H:i”。当我尝试编辑记录时,表单会以这种格式填充日期,但我希望它是 'Ymd H:i' 进行编辑。如果我使用 datetimepicker 进行更改,则该值将更新为所需的格式,但如果未编辑该值,则发布的值为“dMy H:i”格式。

在将日期写入表单字段之前,我将如何更改日期的格式?我可以访问 jqGrid 用于转换的格式化方法吗?我可以在填充表单字段之前使用 unformat 选项进行转换吗?我尝试了各种组合,但无济于事。

4

3 回答 3

1

您可以创建自定义格式函数来修改值,然后在传输该值时创建自定义取消格式选项。

formatter: customFormatFunctionName,

unformat: customUnformatFunctionName,

功能:

function customFormatFunctionName(cellval, opts, rowObject, action) { ...

function customUnformatFunctionName(cellval, opts, rowObject, action) { ...
于 2013-03-14T12:59:26.520 回答
1

这是对我有用的 colModel。关键是删除我通常用于常规日期选择器列的“日期:真”编辑规则和日期格式。此外,获得恰到好处的格式模型始终是 PITA。我将此设置为我的用户喜欢的内容以及我的 Oracle DB 最适合使用的内容...这是反复试验并使用此页面作为参考: http: //php.net/manual/en/datetime.formats.date。 php

{
name:"WMBEMSG_BEGIN_DATE", 
align:"center", 
index:"WMBEMSG_BEGIN_DATE", 
datefmt: 'mm/dd/Y HH:MM', 
editable: true, 
edittype: "text", 
editoptions: { dataInit: function(el) { $(el).datetimepicker({
    controlType: 'select',
    dateFormat: "m/d/yy",
                        timeFormat: "HH:mm"
  } ) }
   }, 
label:"Begin Date", 
width:50, 
sortable: true
}

此外,请确保您的时间选择器 javascript 包含在您的 jquery 和 jquery UI 加载之后。

于 2015-02-28T15:43:11.480 回答
0

我认为你应该只使用dateFormat: 'dd-M-yy'而不是dateFormat: 'yy-mm-dd'timeFormat: 'HH:mm'而不是timeFormat: 'hh:mm'。它对应于newformat:'d-M-y H:i'您使用的格式。

查看演示

在此处输入图像描述

于 2013-03-16T16:39:33.180 回答