基于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 相关文章推荐
js获取div高度的代码
Aug 09 Javascript
深入理解Javascript作用域与变量提升
Dec 09 Javascript
jquery 中的each()跳出循环的语句
May 23 Javascript
JavaScript中的object转换函数toString()与valueOf()介绍
Dec 31 Javascript
javascript手工制作悬浮菜单
Feb 12 Javascript
php基于redis处理session的方法
Mar 14 Javascript
浅谈angular懒加载的一些坑
Aug 20 Javascript
Vue.js快速入门实例教程
Oct 15 Javascript
原生JavaScript实现Tooltip浮动提示框特效
Mar 07 Javascript
JS 中LocalStorage和SessionStorage的使用
Aug 17 Javascript
Vue实例中生命周期created和mounted的区别详解
Aug 25 Javascript
浅谈从React渲染流程分析Diff算法
Sep 08 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下防止单引号,双引号在接受页面转义的设置方法
2008/09/25 PHP
PHP获取163、gmail、126等邮箱联系人地址【已测试2009.10.10】
2009/10/11 PHP
利用php生成验证码
2017/02/23 PHP
php反射学习之依赖注入示例
2019/06/14 PHP
checkbox 多选框 联动实现代码
2008/10/22 Javascript
使用js检测浏览器的实现代码
2013/05/14 Javascript
JavaScript基于setTimeout实现计数的方法
2015/05/08 Javascript
javascript获取wx.config内部字段解决微信分享
2016/03/09 Javascript
Bootstrap学习系列之使用 Bootstrap Typeahead 组件实现百度下拉效果
2016/07/07 Javascript
ECMAScript6轮播图实践知识总结
2016/08/17 Javascript
js实现获取鼠标当前的位置
2016/12/14 Javascript
bootstrap选项卡使用方法解析
2017/01/11 Javascript
移动端基础事件总结与应用
2017/01/12 Javascript
Node Puppeteer图像识别实现百度指数爬虫的示例
2018/02/22 Javascript
axios取消请求的实践记录分享
2018/09/26 Javascript
vue.js实现会动的简历(包含底部导航功能,编辑功能)
2019/04/08 Javascript
跟混乱的页面弹窗说再见
2019/04/11 Javascript
微信小程序模板消息限制实现无限制主动推送的示例代码
2019/08/27 Javascript
在Python中处理字符串之isdecimal()方法的使用
2015/05/20 Python
Python用csv写入文件_消除空余行的方法
2018/07/06 Python
使用Python抓取豆瓣影评数据的方法
2018/10/17 Python
Python中栈、队列与优先级队列的实现方法
2019/06/30 Python
python使用tomorrow实现多线程的例子
2019/07/20 Python
django框架cookie和session用法实例详解
2019/12/10 Python
爬虫代理池Python3WebSpider源代码测试过程解析
2019/12/20 Python
Python 保存加载mat格式文件的示例代码
2020/08/04 Python
Python根据字典的值查询出对应的键的方法
2020/09/30 Python
Mytheresa英国官网:拥有160多个奢侈品品牌
2016/10/09 全球购物
高一学生评语大全
2014/04/25 职场文书
机票销售员态度不好检讨书
2014/09/27 职场文书
公安民警正风肃纪剖析材料
2014/10/10 职场文书
2014年党的群众路线学习心得体会
2014/11/05 职场文书
2016应届毕业生自荐信范文
2016/01/28 职场文书
《鲸》教学反思
2016/02/23 职场文书
python如何正确使用yield
2021/05/21 Python
JavaScript实现外溢动态爱心的效果的示例代码
2022/03/21 Javascript