Easyui datagrid内容自动撑开页面
在做项目时会用到Easyui datagrid插件,因为里面的数据各不相一,可能会存在内容无法撑开页面的效果,以下分享一下做得成功的一个案例,如图:
1 <div id="toolbar" style="padding: 5px;"> 2 <div> 3 <a href="#" class="easyui-linkbutton" onclick="OpenDiag();" iconcls="icon-add">新增</a> 4 </div> 5 </div> 6 <table class="easyui-datagrid" id="table1" toolbar="#toolbar" style="height: 700px"> 7 </table> 8 <div id="divAddDiag"> 9 <table class="gentable_con" cellpadding="5"> 10 <tr> 11 <td class="alignright" style="width: 35%"> 12 关键词标识: 13 </td> 14 <td> 15 <input id="hdKeyCode" type="hidden" /> 16 <input id="txtKeyCode" class="easyui-validatebox" data-options="required:true,validType:'length[1,10]',invalidMessage:'最多可输入10个汉字'" /> 17 </td> 18 </tr> 19 <tr> 20 <td class="alignright" style="width: 35%"> 21 关键词: 22 </td> 23 <td> 24 <input id="hdKeys" type="hidden" /> 25 <input id="txtKeys" class="easyui-validatebox" data-options="required:true,validType:'length[1,10]',invalidMessage:'最多可输入10个汉字'" /> 26 </td> 27 </tr> 28 <tr> 29 <td class="alignright" > 30 缓存时间: 31 </td> 32 <td> 33 <input id="txtCacheTime" type="text" /> 34 </td> 35 </tr> 36 <tr> 37 <td class="alignright" > 38 频道ID: 39 </td> 40 <td> 41 <input id="txtChannelID" type="text" /> 42 </td> 43 </tr> 44 </table> 45 </div>
1 $(function () { 2 $("#table1").datagrid({ 3 url: 'GetKeysList', 4 fit: true, 5 rownumbers: true, 6 fitColumns: true, 7 singleSelect: true, 8 pagination: true, 9 pageSize: 30, 10 pageList: [30, 50, 100], 11 columns: [[ 12 { field: 'KeyCode', title: '关键词标识', width: 50 }, 13 { field: 'Keys', title: '关键词', width: 50 }, 14 { field: 'CacheTime', title: '缓存时间(秒)', width: 30 }, 15 { field: 'TotalCount', title: '频道ID', width: 30 }, 16 { field: 'LastCacheDate', title: '最后缓存时间', width: 50, formatter: dateFormatter }, 17 { field: 'CreateTime', title: '创建时间', width: 50, formatter: dateFormatter }, 18 { field: 'Oper', title: '操作', width: 200, formatter: formatterOper } 19 ]] 20 }); 21 $("body").css({ visibility: "visible" }); 22 23 $(".btn-add").click(function () { 24 OpenDiag(); 25 }); 26 27 Date.prototype.format = function (format) { 28 var o = { 29 "M+": this.getMonth() + 1, // 月 30 "d+": this.getDate(), // 天 31 "h+": this.getHours(), // 时 32 "m+": this.getMinutes(), // 分 33 "s+": this.getSeconds(), // 秒 34 "q+": Math.floor((this.getMonth() + 3) / 3), // 刻 35 "S": this.getMilliseconds() //毫秒 36 // millisecond 37 }; 38 if (/(y+)/.test(format)) 39 format = format.replace(RegExp.$1, (this.getFullYear() + "") 40 .substr(4 - RegExp.$1.length)); 41 for (var k in o) 42 if (new RegExp("(" + k + ")").test(format)) 43 format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] 44 : ("00" + o[k]).substr(("" + o[k]).length)); 45 return format; 46 }; 47 }); 48 49 function formatterOper(value, rowData, rowIndex) { 50 return "<a href='#' onclick='EditKey(" + JSON.stringify(rowData) + ")' data-value=" + JSON.stringify(rowData) + ">编辑</a>" + 51 "<a href='#' onclick='DeleteKey(this)' style='margin-left:15px;' data-value='" + rowData.KeyCode + "'>删除</a>"; 52 } 53 54 function dateFormatter(value, rec, index) { 55 if (value == null || value == '') { 56 return ''; 57 } 58 var dt; 59 if (value instanceof Date) { 60 dt = value; ; 61 } else { 62 dt = new Date(value); 63 if (isNaN(dt)) { 64 value = value.replace(/\/Date\((-?\d+)\)\//, '$1'); 65 dt = new Date(); 66 dt.setTime(value); 67 } 68 } 69 return dt.format("yyyy-MM-dd hh:mm:ss"); 70 }
作者:Jack Qin 互联网新鲜事:http://www.nosqlcn.com