基于datagrid框架的查询


Posted in Javascript onApril 08, 2013
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="jquery-easyui-1.3.2/themes/default/easyui.css" rel="stylesheet" />
<link href="jquery-easyui-1.3.2/themes/icon.css" rel="stylesheet" />
<script src="jquery-easyui-1.3.2/jquery-1.8.0.min.js"></script>
<script src="JavaScript.js"></script><!--这个是扩展Jquery的方法-->
<script src="jquery-easyui-1.3.2/jquery.easyui.min.js"></script>
<script src="jquery-easyui-1.3.2/locale/easyui-lang-zh_CN.js"></script>
</head>
<body id="layoutbody" class="easyui-layout">
<div data-options="region:'north',title:'North Title',split:true" style="height: 100px;">
</div>
<div data-options="region:'south',title:'South Title',split:true" style="height: 100px;">
</div>
<div data-options="region:'east',iconCls:'icon-reload',title:'East',split:true" style="width: 100px;">
</div>
<div data-options="region:'west',title:'West',split:true" style="width: 100px;">
</div>
<div data-options="region:'center',title:'center title'" href="CenterPage.html" style="background: #eee; overflow: hidden;">
</div>
</body>

然后是CenterPage.html框架中的代码,也就是tabs框架中的代码:

<script type="text/javascript" charst="utf-8">
//因为layout框架指向href时,只取html页面body中间的部分,所以该页面这样写即可
//有datagrid包含属性较多,所以尽量使用js的方式初始化datagrid框架
$(function () {
$("#dg").datagrid({
url: "GetJson.ashx", //指向一个一般处理程序或者一个控制器,返回数据要求是Json格式,直接赋值Json格式数据也可,我以demo中自带的Json数据为例,就不写后台代码了,但是我会说下后台返回的注意事项
iconCls: "icon-add",
fitColumns: false, //设置为true将自动使列适应表格宽度以防止出现水平滚动,false则自动匹配大小
//toolbar设置表格顶部的工具栏,以数组形式设置
idField: 'id', //标识列,一般设为id,可能会区分大小写,大家注意一下
loadMsg: "正在努力为您加载数据", //加载数据时向用户展示的语句
pagination: true, //显示最下端的分页工具栏
rownumbers: true, //显示行数 1,2,3,4...
pageSize: 10, //读取分页条数,即向后台读取数据时传过去的值
pageList: [10, 20, 30], //可以调整每页显示的数据,即调整pageSize每次向后台请求数据时的数据
//由于datagrid的属性过多,我就不每个都介绍了,如有需要,可以看它的API
sortName: "name", //初始化表格时依据的排序 字段 必须和数据库中的字段名称相同
sortOrder: "asc", //正序
columns: [[
{ field: 'code', title: 'Code', width: 100 },
{ field: 'name', title: 'Name', width: 100, sortable: true },//sortable:true点击该列的时候可以改变升降序
{ field: 'addr', title: 'addr', width: 100 }
]],//这里之所以有两个方括号,是因为可以做成水晶报表形式,具体可看demo
toolbar: [{//在dategrid表单的头部添加按钮
text: "添加",
iconCls: "icon-add",
handler: function () {
}
}, '-', {//'-'就是在两个按钮的中间加一个竖线分割,看着舒服
text: "删除",
iconCls: "icon-remove",
handler: function () {
}
}, '-', {
text: "修改",
iconCls: "icon-edit",
handler: function () {
}
}, '-']
});
});
//点击查找按钮出发事件
function searchFunc() {
alert("123");
$("#dg").datagrid("load", sy.serializeObject($("#searchForm").form()));//将searchForm表单内的元素序列为对象传递到后台
}
//点击清空按钮出发事件
function clearSearch() {
$("#dg").datagrid("load", {});//重新加载数据,无填写数据,向后台传递值则为空
$("#searchForm").find("input").val("");//找到form表单下的所有input标签并清空
}
</script>
<div class="easyui-tabs" fit="true" border="false">
<div title="数据展示表格" border="false" fit="true">
<div class="easyui-layout" fit="true" border="false">
<!--由于查询需要输入条件,但是以toolbar的形式不好,所以我们在Layout框架的头部north中书写查询的相关信息-->
<!-- 这里我们尽量使其展示的样式与toolbar的样式相似,所以我们先查找toolbar的样式,并复制过来-->
<div data-options="region:'north',title:'高级查询'" style="height: 100px; background: #F4F4F4;">
<form id="searchForm">
<table>
<tr>
<th>用户姓名:</th>
<td>
<input name="name" /></td>
</tr>
<tr>
<th>创建开始时间</th>
<td>
<input class="easyui-datetimebox" editable="false" name="subStartTime" /></td>
<!--由于datebox框架上面的数据必须是时间格式的,所以我们用editable="false"来禁止用户手动输入,以免报错-->
<th>创建结束时间</th>
<td>
<input class="easyui-datetimebox" editable="false" name="nsubEndTimeame" /></td>
<td><a class="easyui-linkbutton" href="javascript:void(0);" onclick="searchFunc();">查找</a></td>
<td><a class="easyui-linkbutton" href="javascript:void(0);" onclick="clearSearch();">清空</a></td>
</tr>
</table>
</form>
</div>
<div data-options="region:'center',split:false">
<table id="dg">
</table>
</div>
</div>
</div>
</div>

Jquery的扩展代码:

var sy = $.extend({}, sy);/*定义一个全局变量*/
sy.serializeObject = function (form) { /*将form表单内的元素序列化为对象,扩展Jquery的一个方法*/
var o = {};
$.each(form.serializeArray(), function (index) {
if (o[this['name']]) {
o[this['name']] = o[this['name']] + "," + this['value'];
} else {
o[this['name']] = this['value'];
}
});
return o;
};

图示:

基于datagrid框架的查询

 

Javascript 相关文章推荐
获取DOM对象的几种扩展及简写
Oct 09 Javascript
jQuery创建平滑的页面滚动(顶部或底部)
Feb 26 Javascript
jQuery实现单行文字间歇向上滚动源代码
Jun 02 Javascript
javascript数据类型示例分享
Jan 19 Javascript
jQuery获取样式中颜色值的方法
Jan 29 Javascript
jQuery.Callbacks()回调函数队列用法详解
Jun 14 Javascript
Bootstrap下拉菜单样式
Feb 07 Javascript
基于jQuery对象和DOM对象和字符串之间的转化实例
Aug 08 jQuery
JS简单实现父子窗口传值功能示例【未使用iframe框架】
Sep 20 Javascript
jQuery实现的简单动态添加、删除表格功能示例
Sep 21 jQuery
jQuery AJAX 方法success()后台传来的4种数据详解
Aug 08 jQuery
Ant Design的Table组件去除
Oct 24 Javascript
datagrid框架的删除添加与修改
Apr 08 #Javascript
jQuery中setTimeout的几种使用方法小结
Apr 07 #Javascript
jQuery setTimeout()函数使用方法
Apr 07 #Javascript
jquery全选/全不选/反选另一种实现方法(配合原生js)
Apr 07 #Javascript
关于jQuery参考实例 1.0 jQuery的哲学
Apr 07 #Javascript
jQuery操作checkbox选择(list/table)
Apr 07 #Javascript
关于jQuery参考实例2.0 用jQuery选择元素
Apr 07 #Javascript
You might like
PHP水印类,支持添加图片、文字、填充颜色区域的实现
2017/02/04 PHP
JS backgroundImage控制
2009/05/19 Javascript
JavaScript 变量作用域分析
2011/07/04 Javascript
基于JavaScript 声明全局变量的三种方式详解
2013/05/07 Javascript
javascript 函数及作用域总结介绍
2013/11/12 Javascript
jquery教程限制文本框只能输入数字和小数点示例分享
2014/01/13 Javascript
Extjs grid添加一个图片状态或者按钮的方法
2014/04/03 Javascript
让浏览器DOM元素最后加载的js方法
2014/07/29 Javascript
JavaScript常用脚本汇总(三)
2015/03/04 Javascript
ECMAScript6中Set/WeakSet详解
2015/06/12 Javascript
分享有关jQuery中animate、slide、fade等动画的连续触发、滞后反复执行的bug
2016/01/10 Javascript
jquery轮播的实现方式 附完整实例
2016/07/28 Javascript
AngularJs Managing Service Dependencies详解
2016/09/02 Javascript
微信小程序 picker 组件详解及简单实例
2017/01/10 Javascript
微信小程序 radio单选框组件详解及实例代码
2017/01/10 Javascript
详谈jQuery中的一些正则匹配表达式
2017/03/08 Javascript
JS兼容所有浏览器的DOMContentLoaded事件
2018/01/12 Javascript
vue获取元素宽、高、距离左边距离,右,上距离等还有XY坐标轴的方法
2018/09/05 Javascript
在node中使用jwt签发与验证token的方法
2019/04/03 Javascript
vue 实现移动端键盘搜索事件监听
2019/11/06 Javascript
[01:51]开启你的城市传奇 完美世界城市挑战赛开始报名
2018/10/09 DOTA
python的Crypto模块实现AES加密实例代码
2018/01/22 Python
浅谈python在提示符下使用open打开文件失败的原因及解决方法
2018/11/30 Python
Python正则表达式和re库知识点总结
2019/02/11 Python
python安装读取grib库总结(推荐)
2020/06/24 Python
python如何调用java类
2020/07/05 Python
Python实现七个基本算法的实例代码
2020/10/08 Python
Jupyter安装链接aconda实现过程图解
2020/11/02 Python
WEB控件及HTML服务端控件能否调用客户端方法?如果能,请解释如何调用?
2015/08/25 面试题
TCP/IP的分层模型
2013/10/27 面试题
高校教师思想汇报
2014/01/11 职场文书
党员承诺书格式
2014/05/21 职场文书
2015年办公室工作总结范文
2015/03/31 职场文书
如何在centos上使用yum安装rabbitmq-server
2021/03/31 Servers
OpenCV-Python模板匹配人眼的实例
2021/06/08 Python
一文搞懂PHP中的抽象类和接口
2022/05/25 PHP