亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

easyui datagrid中datetime字段的顯示和增刪改查問題

2019-11-17 01:55:07
字體:
來源:轉載
供稿:網友

easyui datagrid中datetime字段的顯示和增刪改查問題

datagrid中datetime字段的異常顯示:

使用過easyui datagrid的應該都知道,如果數據庫中的字段是datetime類型,綁定在datagrid顯式的時候會不正常顯示,一般需要借助于formatter來格式化時間格式

                  {                    title: '活動開始時間', field: 'BeginTime', width: 300, editor: {                        type: 'datetimebox', options: { required: true },                        formatter: function (v) {                            return Common.DateTimeFormatter(v);                        }                    }                }

Common.DateTimeFormatter的具體實現如下:

var Common = {    //EasyUI用DataGrid用日期格式化    TimeFormatter: function (value, rec, index) {        if (value == undefined) {            return "";        }        /*json格式時間轉js時間格式*/        value = value.substr(1, value.length - 2);        var obj = eval('(' + "{Date: new " + value + "}" + ')');        var dateValue = obj["Date"];        if (dateValue.getFullYear() < 1900) {            return "";        }        var val = dateValue.pattern("yyyy-MM-dd HH:mm");        return val;    },    DateTimeFormatter: function (value, rec, index) {        if (value == null || value == '') {            return '';        }        var dt;        if (value instanceof Date) {            dt = value;        }        else {            dt = new Date(value);            if (isNaN(dt)) {                value = value.replace(///Date/((-?/d+)/)///, '$1'); //標紅的這段是關鍵代碼,將那個長字符串的日期值轉換成正常的JS日期格式                dt = new Date();                dt.setTime(value);            }        }        return dt.pattern("yyyy-MM-dd HH:mm");    },    //EasyUI用DataGrid用日期格式化    DateFormatter: function (value, rec, index) {        if (value == undefined) {            return "";        }        /*json格式時間轉js時間格式*/        value = value.substr(1, value.length - 2);        var obj = eval('(' + "{Date: new " + value + "}" + ')');        var dateValue = obj["Date"];        if (dateValue.getFullYear() < 1900) {            return "";        }        return dateValue.pattern("yyyy-MM-dd");    }};
View Code
Date.PRototype.pattern = function (fmt) {    var o = {        "M+": this.getMonth() + 1, //月份                "d+": this.getDate(), //日                "h+": this.getHours() % 12 == 0 ? 12 : this.getHours() % 12, //小時                "H+": this.getHours(), //小時                "m+": this.getMinutes(), //分                "s+": this.getSeconds(), //秒                "q+": Math.floor((this.getMonth() + 3) / 3), //季度                "S": this.getMilliseconds() //毫秒            };    var week = {        "0": "/u65e5",        "1": "/u4e00",        "2": "/u4e8c",        "3": "/u4e09",        "4": "/u56db",        "5": "/u4e94",        "6": "/u516d"    };    if (/(y+)/.test(fmt)) {        fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));    }    if (/(E+)/.test(fmt)) {        fmt = fmt.replace(RegExp.$1, ((RegExp.$1.length > 1) ? (RegExp.$1.length > 2 ? "/u661f/u671f" : "/u5468") : "") + week[this.getDay() + ""]);    }    for (var k in o) {        if (new RegExp("(" + k + ")").test(fmt)) {            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));        }    }    return fmt;}
View Code

看著這么多js還是很繁瑣的,我這里采用一個小技巧,就是把數據庫里的datetime格式的字段類型轉化為字符串格式 值不變,但是免去了前端格式化的過程

 { title: '活動開始時間', field: 'BeginTimeStr', width: 300, editor: { type: 'datetimebox', options: { required: true } } }

具體 datetime類型的轉化可以在數據庫層面或者C#代碼層面實現;我這里是在數據庫層面進行的轉化,然后直接指定的字符串類型的BeginTimeStr作為綁定字段

SELECT ID,ActivityItemID,Created,CONVERT(varchar, EndTime , 20) EndTimeStr,CONVERT(varchar, BeginTime , 20) BeginTimeStrFROM dbo.ActivityItemIDInfo

datagrid RowEdit:

第一步:指定editor

 columns: [[                {                    title: '鏈接ID', field: 'ActivityItemID', width: 200, editor: {                        type: 'numberbox', options: { required: true }                    }                },                { title: '活動開始時間', field: 'BeginTimeStr', width: 300, editor: { type: 'datetimebox', options: { required: true } } },                {                    title: '活動結束時間', field: 'EndTimeStr', width: 300, editor: { type: 'datetimebox', options: { required: true } }                }            ]]

第二步定義相應的操作方法:

var editIndex = undefined;function endEditing() {    if (editIndex == undefined) { return true }    if ($('#ActivityItemIDInfolist').datagrid('validateRow', editIndex)) {        var ed = $('#ActivityItemIDInfolist').datagrid('getEditor', { index: editIndex, Field: 'ActivityItemID' });        $('#ActivityItemIDInfolist').datagrid('endEdit', editIndex);        editIndex = undefined;        return true;    } else {        return false;    }}function onClickRow(index) {    if (editIndex != index) {        if (endEditing()) {            $('#ActivityItemIDInfolist').datagrid('selectRow', index).datagrid('beginEdit', index);            editIndex = index;        } else {            $('#ActivityItemIDInfolist').datagrid('selectRow', editIndex);        }    }}function append() {    if (endEditing()) {        $('#ActivityItemIDInfolist').datagrid('appendRow', { ActivityItemID: '0' });        editIndex = $('#ActivityItemIDInfolist').datagrid('getRows').length - 1;        $('#ActivityItemIDInfolist').datagrid('selectRow', editIndex).datagrid('beginEdit', editIndex);    }}function removeit() {    if (editIndex == undefined) { return; }    $('#ActivityItemIDInfolist').datagrid('cancelEdit', editIndex).datagrid('deleteRow', editIndex);    editIndex = undefined;}function accept() {    if (endEditing()) {        $('#ActivityItemIDInfolist').datagrid('acceptChanges');    }}function reject() {    $('#ActivityItemIDInfolist').datagrid('rejectChanges');    editIndex = undefined;}function getChanges() {    var rows = $('#ActivityItemIDInfolist').datagrid('getChanges');    alert(rows.length + ' rows are changed!');}
View Code

第三步: 指定編輯行索引的時機,這里把時機和行單擊事件關聯

第四步:檢測datagrid的變化,并把變化通過Ajax的方式提交到后臺處理

function SaveDataToServer() {    endEditing();    var rows = $('#ActivityItemIDInfolist').datagrid('getChanges');    if (rows.length > 0) {        var inserted = $('#ActivityItemIDInfolist').datagrid('getChanges', "inserted");        var deleted = $('#ActivityItemIDInfolist').datagrid('getChanges', "deleted");        var updated = $('#ActivityItemIDInfolist')
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
一本色道久久88精品综合| 日本欧美国产在线| 精品亚洲国产成av人片传媒| 国产欧美一区二区三区在线| 国产精品亚洲片夜色在线| 欧美性xxxx18| 亚洲人精品午夜在线观看| 亚洲最大福利视频网站| 国产精品久久久久久久9999| 69久久夜色精品国产7777| 国产噜噜噜噜久久久久久久久| 亚洲自拍另类欧美丝袜| 久久久久久久久网站| 国产精品扒开腿做爽爽爽视频| 欧美成人久久久| 亚洲最大的成人网| 欧美激情性做爰免费视频| 精品中文字幕在线观看| 色噜噜国产精品视频一区二区| 欧美另类高清videos| 97免费视频在线| 精品国产一区二区三区久久| 久久久久一本一区二区青青蜜月| 国产免费久久av| 国产欧美一区二区三区四区| 日韩综合视频在线观看| 国产香蕉一区二区三区在线视频| 欧美激情a∨在线视频播放| 成人免费福利视频| 亚洲一区www| 精品福利在线观看| 成人两性免费视频| 日韩av在线电影网| 欧美成人精品一区二区三区| 国产亚洲免费的视频看| 日韩免费观看av| 热久久美女精品天天吊色| 亚洲美女视频网| 亚洲精品网址在线观看| 激情久久av一区av二区av三区| 伊人av综合网| 精品国产成人在线| 亚洲在线视频福利| 欧美日韩国产精品一区| 亚洲第一中文字幕| 国产一区二区三区视频在线观看| 日韩精品中文字幕久久臀| 亚洲xxxx视频| 国产日韩在线观看av| 日韩欧美黄色动漫| 成人美女av在线直播| 久久久久久午夜| 欧美亚洲在线观看| 欧美激情免费视频| 日韩欧亚中文在线| 精品久久久久久久久久久久久久| 911国产网站尤物在线观看| 亚洲精品www久久久久久广东| 成人情趣片在线观看免费| 岛国视频午夜一区免费在线观看| 精品国内产的精品视频在线观看| 亚洲国产又黄又爽女人高潮的| 亚洲天堂av在线免费| 欧美高清一级大片| 国产精品中文字幕在线观看| 亚洲国产另类久久精品| 韩国福利视频一区| 亚洲欧洲在线视频| 另类天堂视频在线观看| 亚洲国产成人精品久久久国产成人一区| 亚洲一区二区久久久久久久| 亚洲国产另类 国产精品国产免费| 中文字幕欧美精品日韩中文字幕| 国产99久久精品一区二区永久免费| 欧美性高跟鞋xxxxhd| 国产精品久久久久久搜索| 久久亚洲精品一区| 91精品视频在线免费观看| 亚洲欧美一区二区精品久久久| 日韩欧美综合在线视频| 美女精品视频一区| 97在线观看视频国产| 三级精品视频久久久久| 欧美一区二区大胆人体摄影专业网站| 亚洲欧美日韩中文视频| 欧美激情精品久久久久久| 性色av一区二区三区免费| 国产精品久久婷婷六月丁香| 中文国产成人精品| 久久久久久久香蕉网| 亚洲第一精品夜夜躁人人躁| 深夜福利日韩在线看| 91亚洲精品一区二区| 97精品一区二区视频在线观看| 欧美www在线| 成人免费看片视频| 九九久久久久久久久激情| 久久精品久久久久久国产 免费| 国产欧美日韩亚洲精品| 亚洲香蕉成视频在线观看| 国产亚洲一级高清| 亚洲性视频网站| 成人在线中文字幕| 热久久视久久精品18亚洲精品| 91av在线国产| 日本欧美精品在线| 国内偷自视频区视频综合| 91精品啪在线观看麻豆免费| 亚洲美女免费精品视频在线观看| 亚洲精品国产美女| 亚洲成人久久一区| 亚洲成色www8888| 深夜福利亚洲导航| 亚洲一区久久久| 国产精品久久久久免费a∨| 亚洲视频在线观看| 中文字幕亚洲精品| 亚洲欧美制服另类日韩| 欧美激情视频网址| 午夜免费在线观看精品视频| 欧美日韩免费在线观看| 亚洲天堂av综合网| 久久精品成人动漫| 国产高清在线不卡| 久久97精品久久久久久久不卡| 国产噜噜噜噜久久久久久久久| 91在线观看免费| 日韩av免费在线播放| 成人激情春色网| 国内外成人免费激情在线视频网站| 国产成人在线播放| 精品美女永久免费视频| 91九色国产在线| 国内精品视频在线| 国产乱人伦真实精品视频| 欧美—级a级欧美特级ar全黄| 精品久久久91| 一本大道亚洲视频| 国产视频精品va久久久久久| 亚洲天堂开心观看| 精品亚洲精品福利线在观看| 欧美黄色成人网| 欧美床上激情在线观看| 欧美另类精品xxxx孕妇| 国产精品久久久久久久7电影| 午夜精品福利视频| 激情懂色av一区av二区av| 亚洲精品一区二区久| 久久精品国产亚洲精品| 日韩精品日韩在线观看| 福利视频一区二区| 亚洲高清久久久久久| 国产精品xxxxx| 欧美电影在线播放| 日韩毛片在线观看| 亚洲欧美日韩一区二区三区在线| 国产精品极品美女在线观看免费| 日韩欧美国产免费播放| 久青草国产97香蕉在线视频| 欧美性猛交xxxx乱大交蜜桃| 国产日韩精品电影| 国产精品美女呻吟| 久久久久久久久久婷婷| 欧美精品激情blacked18|