我有jqgrid进行内联编辑。我的日期列格式为d.m.Y。我希望在以Y-m-d格式发送到服务器之前将该​​列为modified,因为如果我在jqgrid d.m.Y中将format设置为,则模型联编程序会将相同的属性绑定为null。对服务器发送serialize数据before请求该怎么做?

在编辑内联模式下,我有发布数据的事件:

   $(obj.grid).jqGrid('saveRow', eRowId, {
     succesfunc: function (response) {
     alert("success");
      },
     url: ddf.DDF+ "/Home/Edit",
     mtype: "POST"
   });

最佳答案

首先,重要的是要提到应该从显示给用户的数据中区分内部数据的格式或在服务器和客户端之间传输的数据。 jqGrid具有formattres的概念,该概念允许生成格式化的HTML片段,该片段将被放置在列的<td>单元格中。存在formatter: "date",可用于将输入数据转换为其他格式。如果要遵循格式化程序的逻辑,则可以使用格式为Y-m-d的数据填充网格,但以格式为d.m.Y的数据显示。如果formatoptionsformatter: "date"不包含sendFormatted: true属性,则jqGrid将自动以源格式Y-m-d转换编辑结果。因此,您无需进行任何其他序列化。

但是,如果确实需要进行一些手动序列化以进行内联编辑,则应定义jqGrid选项级别的serializeRowData回调。回调get postData对象是唯一的参数,它应返回该对象或将用于向服务器发送数据的字符串。

09-25 16:34
查看更多