jQuery MiniUI

标题: 毫秒数在 前台渲染 datepicker 以及赋值问题。 [打印本页]

作者: jav    时间: 2019-4-16 20:58:04     标题: 毫秒数在 前台渲染 datepicker 以及赋值问题。

function buildGrid(){
                $.ajax({
                        url : basePath+"datamaintain/MaintainTaskCount/findColumns",
                        type:"post",
                        data:{
                                tableCode:tableCode
                        },
                        success : function(data) {
                                //console.log(data);
                                if(data.length < 1){
                                        mini.showTips({
                                    content: "当前表中无数据",
                                    state: "warning",
                                    x:"center",
                                    y:"top",
                                    timeout: 3000
                                });
                                }else{
                                        arr.push({ type: "checkcolumn" });
                                        arr.push({field:"ID" ,visible:"false", editor: { type: "textbox"} });
                                        for(var i = 0;i<data.length;i++){
                                                if(data.FIELD_NAME != "ID"){
                                                        var fileType = data.FIELD_DATA_TYPE.split("(")[0];
                                                        if(fileType == "VARCHAR2"){
                                                                arr.push({field:""+data.DATA_TABLE_FIELD+"", width: 80, align: "center", headerAlign: "center", allowSort: true, header: ""+data.FIELD_NAME+"", editor: { type: "textbox"} });
                                                        }
                                                        if(fileType == "NUMBER"){
                                                                arr.push({field:""+data.DATA_TABLE_FIELD+"", width: 100, align: "center", headerAlign: "center", allowSort: true, header: ""+data.FIELD_NAME+"", editor: { type: "spinner", minValue: 0, maxValue: 99999, decimalPlaces:5} });
                                                        }
                                                        if(fileType == "DATE"{
                                                                arr.push({field:""+data.DATA_TABLE_FIELD+"", width: 200, align: "center",dateFormat:"yyyy-MM-dd HH:mm:ss", headerAlign: "center",allowSort: true, renderer:"timeRenderer",header: ""+data.FIELD_NAME+"", editor: { type: "datepicker" } });
                                                        }
                                                }
                                        };
                                        grid.set({
                                                columns: arr
                                        });
                                        var url = basePath+"datamaintain/MaintainTaskCount/findData?tableCode="+tableCode;
                                        grid.setUrl(url);
                                        grid.load();
                                        grid.hideColumn(1);
                                }
                        },
                        error:function(){}
                });
        }

[attach]12127[/attach]

[attach]12128[/attach]

问题是这样的:我现在要动态生成datagrid,现在我要添加一个datepicker,oracle数据库中字段类型为date,保存到数据库中如图,查询出来的为时间为: 毫秒数。
1、但是现在我怎么把毫秒数渲染到datapicker里?
2、虽然我渲染完成之后通过renderer事件格式化字符串之后,虽然前台显示正常,但是如果我保存的时候,传到后台的仍然是 毫秒数,这个怎么弄?不能传到后台和datapicker里选择的一样了吗?因为我后台都是统一simpledateformat处理的。


作者: felt    时间: 2019-4-17 09:20:12

date是无法直接传递的
请参考我们试用包的后台,后台将date处理成yyyy-MM-dd HH:mm:ss或yyyy-MM-ddTHH:mm:ss两种格式的字符串,这样格式的数据,我们url加载datagrid数据的时候会自动转成date,这样表格里面就可以转换成各种格式了,只需要设置dateFormat="..."。
作者: jav    时间: 2019-4-17 09:26:13

felt 发表于 2019-4-17 09:20
date是无法直接传递的
请参考我们试用包的后台,后台将date处理成yyyy-MM-dd HH:mm:ss或yyyy-MM-ddTHH:mm:s ...

谢谢,但是我几个疑问
1、如果我后台不进行转换的话,在前台渲染都会有这个问题吗?比如用beforLoad。
2、后台转换成您说的这种情况的话,是不是datapicker控件 “自动识别”吗?

作者: felt    时间: 2019-4-17 11:25:52

jav 发表于 2019-4-17 09:26
谢谢,但是我几个疑问
1、如果我后台不进行转换的话,在前台渲染都会有这个问题吗?比如用beforLoad。
2 ...

1 用beforeload也需要你一个个处理的,相比来说后台处理更加自然和方便
2 url加载会自动mini.decode()的,会将这样的字符串转成date,赋值给datepicker没有问题的
可以看一下我们示例里面的处理
作者: jav    时间: 2019-4-17 16:27:03

felt 发表于 2019-4-17 11:25
1 用beforeload也需要你一个个处理的,相比来说后台处理更加自然和方便
2 url加载会自动mini.decode()的 ...

好的,非常感谢,我用grid.setdata方法+displayfield 解决了这个问题。




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