jQuery MiniUI

标题: 行编辑中,日期是怎么储存的? [打印本页]

作者: fanfan    时间: 2015-7-31 17:52:20     标题: 行编辑中,日期是怎么储存的?

    我做了一个行编辑的页面,先从库里读出已经储存的数据,然后可以在页面中直接编辑,点保存;
    但是日期格式的就会有现在这个问题:我必须单击日期的编辑框或者修改日期才可以保存(后台实体中对应储存的为date类型),否则就认为传到后台的是字符串,mini-datepicker中设置valueType=“date”也不管用;
    jsp代码如下:


<div field="repairDate" width="80" headerAlign="center" cellStyle="background-color:#FFFFBB"
                                                        allowSort="true" format="yyyy-MM-dd H:mm:ss">维修日期
                                                        <input property="editor" class="mini-datepicker" style="width:100%;" valueType="date"/></div>
作者: fanfan    时间: 2015-8-3 09:16:29

版主帮帮忙啊
作者: dforce    时间: 2015-8-3 09:40:00

fanfan 发表于 2015-8-3 09:16
版主帮帮忙啊

不明白你的环境
你这列的数据是怎么来的,怎样保存的
作者: fanfan    时间: 2015-8-3 10:32:28

dforce 发表于 2015-8-3 09:40
不明白你的环境
你这列的数据是怎么来的,怎样保存的

读是从实体类里面读出来的,实体类的属性是date,保存的时候,我先在js中获取所有数据,然后转成对象,直接再java代码中用实体类接收;现在就是因为时间这项,它默认是字符串。。。。但是我的实体对应的属性是date类型。。。
作者: dforce    时间: 2015-8-3 10:35:11

fanfan 发表于 2015-8-3 10:32
读是从实体类里面读出来的,实体类的属性是date,保存的时候,我先在js中获取所有数据,然后转成对象,直 ...

后台用我们提供json工具解析
作者: fanfan    时间: 2015-8-3 10:50:05

dforce 发表于 2015-8-3 10:35
后台用我们提供json工具解析

我用的也是json
作者: fanfan    时间: 2015-8-3 10:52:18

fanfan 发表于 2015-8-3 10:32
读是从实体类里面读出来的,实体类的属性是date,保存的时候,我先在js中获取所有数据,然后转成对象,直 ...

$.ajax({
                     type: 'post',
                     url: basePath + "mems/dm/saveTaskDetailAmountByDmtask",
                     data: JSON.stringify(data),
                     contentType: "application/json",
                     success: function (text) {
                             mini.hideMessageBox(messageid);
                               if(text.status=="true"){
                                       mini.alert("保存成功");
                                       grid.reload();
                               }else{
                                       mini.alert(text.data);
                               }
                     }
作者: fanfan    时间: 2015-8-3 10:57:57

dforce 发表于 2015-8-3 10:35
后台用我们提供json工具解析

我controller里面的方法@RequestMapping(value = "/saveTaskDetailAmountByDmtask")
        @ResponseBody
        public Object saveTaskDetailAmountByDmtask(@RequestBody List<DmTaskAccptDetail> dmTaskAccptDetail);就是默认情况下,转成List<DmTaskAccptDetail> 就会报错,但是当我编辑了日期那一列的数据,保存就不会有问题
作者: fanfan    时间: 2015-8-3 10:58:42

dforce 发表于 2015-8-3 10:35
后台用我们提供json工具解析

JS:
$.ajax({
                      type: 'post',
                      url: basePath + "mems/dm/saveTaskDetailAmountByDmtask",
                      data: JSON.stringify(data),
                      contentType: "application/json",
                      success: function (text) {
                              mini.hideMessageBox(messageid);
                                if(text.status=="true"){
                                        mini.alert("保存成功");
                                        grid.reload();
                                }else{
                                        mini.alert(text.data);
                                }
                      }
作者: dforce    时间: 2015-8-3 11:18:45

fanfan 发表于 2015-8-3 10:58
JS:
$.ajax({
                      type: 'post',

前后台都用我们的json工具
前台序列化,mini.encode()
作者: fanfan    时间: 2015-8-4 14:32:59

dforce 发表于 2015-8-3 11:18
前后台都用我们的json工具
前台序列化,mini.encode()

var rows = grid.getChanges("modified");
        if(rows.length>0){
                var messageid = mini.loading("数据提交中 ...", "进度条");
                var data = [];
                for(var i=0;i<rows.length;i++){
                    var rowData = {mtaskAccptDtlId:'',applyAmount:'',acceptAmount:'',repairDate:'',isLump:''};
                    rowData.mtaskAccptDtlId = rows.mtaskAccptDtlId;
                    rowData.applyAmount=rows.applyAmount;
                    rowData.acceptAmount = rows.acceptAmount;
                    rowData.repairDate =rows.repairDate;
                    rowData.isLump = rows.isLump;
                   
                    data.push(rowData);
            }
               
                $.ajax({
                     type: 'post',
                     url: basePath + "mems/dm/saveTaskDetailAmountByDmtask",
                     data: JSON.stringify(data),
                     contentType: "application/json",
                     success: function (text) {
                             mini.hideMessageBox(messageid);
                               if(text.status=="true"){
                                       mini.alert("保存成功");
                                       grid.reload();
                               }else{
                                       mini.alert(text.data);
                               }
                     },
                     error: function (jqXHR, textStatus, errorThrown) {
                             mini.hideMessageBox(messageid);
                         mini.alert("保存失败");
                     }
                 });
我的js代码,没有加repairDate之前是没问题的,就是这个时间转换出的问题
作者: felt    时间: 2015-8-4 15:02:41

fanfan 发表于 2015-8-4 14:32
var rows = grid.getChanges("modified");
        if(rows.length>0){
                var messageid = mini.loading("数据提 ...

grid.getChanges()获取到的数据里面的时间是date
你这样直接用还是date,你需要字符串的话,可以用mini.formatDate(date,"yyyy-MM-dd")这样的方式转成字符串
作者: fanfan    时间: 2015-8-4 17:04:39

felt 发表于 2015-8-4 15:02
grid.getChanges()获取到的数据里面的时间是date
你这样直接用还是date,你需要字符串的话,可以用mini.f ...

rowData.repairDate =mini.formatDate(rows.repairDate,"yyyy-MM-dd"),这样转么?这样转完,时间数据直接是空的(“ ”),保存没报错,格式应该没问题
作者: felt    时间: 2015-8-4 17:09:11

fanfan 发表于 2015-8-4 17:04
rowData.repairDate =mini.formatDate(rows.repairDate,"yyyy-MM-dd"),这样转么?这样转完,时间数据直接 ...

你数据里面rows.repairDate到底是什么数据
作者: fanfan    时间: 2015-8-4 17:12:32

felt 发表于 2015-8-4 17:09
你数据里面rows.repairDate到底是什么数据

直接获取,显示的是字符串“yyyy-MM-dd”
作者: felt    时间: 2015-8-4 17:17:03

fanfan 发表于 2015-8-4 17:12
直接获取,显示的是字符串“yyyy-MM-dd”

valueFormat="yyyy-MM-dd"试试
我就不清楚你到底如何出现在这问题的,我们提供了前后台的json工具,用我们的工具处理没发现过什么问题
作者: fanfan    时间: 2015-8-4 17:26:34

felt 发表于 2015-8-4 17:17
valueFormat="yyyy-MM-dd"试试
我就不清楚你到底如何出现在这问题的,我们提供了前后台的json工具,用我 ...

好吧,麻烦你了,我想个别的办法吧




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2