第三方控件获取值问题的解决(附转载的easyUI datagrid 时间格式化(两种))
2017-06-27 16:59
876 查看
在.net开发过程中,经常会有使用第三方控件的情况,但是在使用过程中,却有时候会获取不到使用控件的值。
那么问题是出在什么地方呢?
下面我用自己遇到的实际情况来做一下演示,希望对大家有所帮助。
我做的是一个学校卫生管理系统。使用的是easyui中的DateBox(日期输入框)控件,
1、使用标签创建日期输入框。
2.在初次加载中添加
3、但在修改时,却获取不到日历的值,
4、在检查前台数据和后台传输数据后,排除了获取不到值得情况。
最后检查了前台控件,发现了问题。
后台传输将input控件变成了其他形式
5,解决方法如下:
解决前:
解决后:
具体方法:将前边的#dptdialog input[name=’C_date’],转换成了初次加载中的dt
以防止不可变的第三方控件转化。
并引用了easyui中的setValue方法,来更好地获取当前值。
在前端解决问题的解决方法
1,创建JavaScript文件,扩展Date的功能
2、在前台使用时间显示的页面进行调用(easyUI datagrid 中)
我使用调用的是在原有日历控件初次加载中添加formatter: formatDatebox
这样符合格式规范的时间格式就没有问题了
参考文章:
http://blog.csdn.net/leftfist/article/details/44179047
适用于以下格式
2、创建JS文件
3、引用:field中添加 formatter: DateTimeFormatter
引用参考文档
http://www.cnblogs.com/changyou7/p/6228860.html
那么问题是出在什么地方呢?
下面我用自己遇到的实际情况来做一下演示,希望对大家有所帮助。
我做的是一个学校卫生管理系统。使用的是easyui中的DateBox(日期输入框)控件,
1、使用标签创建日期输入框。
<input id="dd" type= "text" class= "easyui-datebox" required ="required"> </input>
2.在初次加载中添加
$('#dt').datetimebox({ hailgn: 'center', align: 'center', width: 200, required: true, showSeconds: false });
3、但在修改时,却获取不到日历的值,
4、在检查前台数据和后台传输数据后,排除了获取不到值得情况。
最后检查了前台控件,发现了问题。
<input id="dt" type="text" name="C_date" class="easyui-validatebox" required="true">
后台传输将input控件变成了其他形式
5,解决方法如下:
解决前:
url: "@Url.Action("GetOne")" + "?id=" + rows[0].C_ID, dataType: "json", type: "POST", success: function (data) { if (data.state == "1") { $("#dptdialog input[name='C_name']").val(data.data.C_name); $("#dptdialog input[name='C_age']").val(data.data.C_age); $("#dptdialog input[name='C_date']").val(data.data.C_date);
解决后:
success: function (data) { if (data.state == "1") { $("#dptdialog input[name='C_ID']").val(data.data.C_ID); $("#dptdialog input[name='O_shoppname']").val(data.data.O_shoppname); $("#dptdialog input[name='O_price']").val(data.data.O_price); $("#dptdialog input[name='O_num']").val(data.data.O_num); $("#dt").datetimebox('setValue', data.data.O_date);
具体方法:将前边的#dptdialog input[name=’C_date’],转换成了初次加载中的dt
以防止不可变的第三方控件转化。
并引用了easyui中的setValue方法,来更好地获取当前值。
easyUI datagrid 时间格式化(一)
解决前台显示时间格式混乱,附有没有意思的T获取00.00等的情况,在前端解决问题的解决方法
1,创建JavaScript文件,扩展Date的功能
Date.prototype.format = function (format) { var o = { "M+": this.getMonth() + 1, // month "d+": this.getDate(), // day "h+": this.getHours(), // hour "m+": this.getMinutes(), // minute "s+": this.getSeconds(), // second "q+": Math.floor((this.getMonth() + 3) / 3), // quarter "S": this.getMilliseconds() // millisecond } if (/(y+)/.test(format)) format = format.replace(RegExp.$1, (this.getFullYear() + "") .substr(4 - RegExp.$1.length)); for (var k in o) if (new RegExp("(" + k + ")").test(format)) format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)); return format; } function formatDatebox(value) { if (value == null || value == '') { return ''; } var dt; if (value instanceof Date) { dt = value; } else { dt = new Date(value); } return dt.format("yyyy-MM-dd"); //扩展的Date的format方法(上述插件实现) }
2、在前台使用时间显示的页面进行调用(easyUI datagrid 中)
$('#datagridDemo1').datagrid({ …… columns: [[ { field: 'CreateDate', title: '创建日期', width: 120,align: 'center',formatter: formatDatebox}, …… ]] });
我使用调用的是在原有日历控件初次加载中添加formatter: formatDatebox
这样符合格式规范的时间格式就没有问题了
参考文章:
http://blog.csdn.net/leftfist/article/details/44179047
easyUI datagrid 时间格式化(二)(摘录)
1、适用的问题适用于以下格式
2、创建JS文件
function DateTimeFormatter(value) { 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.format("yyyy-MM-dd hh:mm:ss"); }
3、引用:field中添加 formatter: DateTimeFormatter
引用参考文档
http://www.cnblogs.com/changyou7/p/6228860.html
相关文章推荐
- 多种方式解决EasyUI—DataGrid中DateTime的格式化问题
- 解决easyui 控件datagrid 二次加载问题
- 总结Asp.net中Page加载PostData的具体过程 进而解决"获取动态创建的控件的PostData数据"问题
- [转载 js]一次性解决png在i6下的透明问题(包括做为img和背景的两种情况)
- 解决EasyUI-Datagrid和LinqToEntity结合应用时排序问题
- EasyUI DataGrid 时间格式化、字符串长度截取
- Android解决获取控件Width和Height为0的问题
- 解决jQuery的EasyUI的datagrid数据表格中行的垂直居中问题。
- Android解决获取控件Width和Height为0的问题
- 总结Asp.net中Page加载PostData的具体过程 进而解决"获取动态创建的控件的PostData数据"问题
- linq 解决winForm中控件CheckedListBox操作的问题。(转载)
- 解决“ .dll(或.ocx)控件已加载,但对DllregisterServer的调用失败,错误代码为0x80004005”问题的两种终极方法:SubInACL安装 VS 命令提示符
- 总结Asp.net中Page加载PostData的具体过程 进而解决"获取动态创建的控件的PostData数据"问题
- 在从池中获取连接之前超时时间已过,所有池连接都已被使用并已达到最大池大小的问题解决方法
- oracle 数据库,通过resultSet.getObject()获取时间类型截断的问题的解析(格式化时间不能完全输出,也就是只能到日,小时后面的没有了)
- [转载 js]一次性解决png在i6下的透明问题(包括做为img和背景的两种情况)
- C#中引用第三方ocx控件引发的问题以及解决办法
- 解决 Windows 和 Ubuntu 时间不一致的问题--转载
- 解决AspNet中DataGrid GridView等列表控件导出Excel长数字显示成科学计数法的问题
- VC++ 获取Date Time Picker 控件的时间并格式化输出