EasyUI需注意的问题01
一、EasyUI-Datagrid分页
在创建数据表格(DataGrid)的时候,通过设置'pagination' 属性为 true,可以在数据表格的底部生成一个分页工具栏。
<table id="dg" class="easyui-datagrid"
url="data/datagrid_data.json"
pagination="true">
<thead>
<tr>
<th field="xxx" width="80">xxx</th>
<th field="xxx" width="80">xxx</th>
<th field="xxx" width="80">xxx</th>
</tr>
</thead>
</table>
当我们向指定的url请求数据时,pagination将会发送两个参数到服务器:page:页面,起始值1rows:每页显示行数在分页栏上,一般会显示总共有多少记录,当前显示的记录(第几页);因此服务器向前端发送数据的时候,除了数据记录之外,还需要传递当前查询总共有多少记录。而在EasyUI中,向datagrid传递的数据格式必须为字典类型的json数据。该数据包含两个键:total(当前查询的总记录数)、rows(返回的记录数据)分页思想:一般的分页会根据page和rows来决定返回的记录,跳过前面的(page-1)*rows条记录,返回剩下的rows条记录(少于rows条则全部返回)。对数据的筛选一般反正数据库中进行(当应用与数据库不在同一机子时,若在应用所在服务器进行数据筛选,会导致网络传输大量的无效记录,而当记录总数较大的时候,也会占用较多的内存进行数据的筛选)而在数据库中进行筛选,为了保证每次查到的数据的顺序是一致的,必须对某个唯一列进行排序(一般是主键)。具体的操作可以为:先查出前(page-1)*rows条记录的id,然后选择记录id不在查出数据之中的数据的前rows条记录(SELECT TOP rows FROM tableName WHERE id not in(SELECT TOP (page-1)*rows id from tableName order by id) order by id)这种分页当page很大的时候,会过滤掉大量的数据,以至于效率不高。SQLServer2005提供了一个row_number()函数用于分页,ROW_NUMBER() 就是生成一个顺序的行号,而生成顺序的标准是由后面紧跟的OVER(ORDER BY id)子句决定的:
SELECT TOP rows * FROM
(
SELECT top rows ROW_NUMBER() OVER (ORDER BY id) AS RowNo FROM TABLE
) AS A WHERE RowNo > (page-1)*rows
二、easyui-datetimebox日期时间控件
通过官网的例子为datetimebox控件设置值时,如下:
<input class="easyui-datetimebox" name="birthday" id="dt"
data-options="required:true,showSeconds:true" value="03/04/2010 12:30:29" style="width:250px;height:30px;">
结果显示的时候,时间部分是正确的,但日期部分确是当前日期(这是为什么呢),当通过getValue函数获取控件的值时,得到的时间格式是:
yyyy-MM-dd hh:mm:ss
于是,试着将时间格式也设置相同,就显示正确了。难道datetimebox只能支持上述的时间格式?
EasyUI需注意的问题01的更多相关文章
- easyui前端框架01
一. 三大前端框架的特点 1.easyui=jquery+html4 优点:快速开发.功能齐全 .免费 缺点:不好看.不支持相应式开发 2.bootstrap=jquery+html5 优点: 功能强 ...
- python使用 requirements.txt 管理所需的包
使用 requirements.txt 管理所需的包 2019/01/28 作者 若要与其他人共享项目.使用生成系统,或打算将项目复制到需要在其中还原环境的其他任何位置,必须指定项目需要的外部包. 建 ...
- poj 2724 Purifying Machinef
poj 2724 Purifying Machinef 题意 每一个01串中最多含有一个'*','*'既可表示0也可表示1,给出一些等长的这样的01串,问最少能用多少个这样的串表示出这些串.如:000 ...
- mysql 执行状态分析 show processlist
SHOW PROCESSLIST显示哪些线程正在运行.您也可以使用mysqladmin processlist语句得到此信息.如果您有SUPER权限,您可以看到所有线程.否则,您只能看到您自己的线程( ...
- exynos 4412 电源管理芯片PMIC 的配置及使用方法
/** ****************************************************************************** * @author Maox ...
- show processlist 执行状态分析
Sleep状态 通常代表资源未释放,如果是通过连接池,sleep状态应该恒定在一定数量范围内 实战范例:因前端数据输出时(特别是输出到用户终端)未及时关闭数据库连接,导致因网络连接速度产生大量slee ...
- LA 6448 Credit Card Payment
[题目] 你的信用卡目前欠M元,每月的汇率是R,每月的利息要四舍五入为小数点后两位,你每月还B元,问多少月能还清. 输入 先是T代表测试数据组数 接下来T行,每行有三个实数,R,M,B每个实数小数 ...
- redis数据类型:sorted sets类型及操作
sorted sets类型及操作: sorted set是set的一个升级版本,它是在set的基础上增加了一个顺序 属性,这一属性在添加修改元素的时候可以指定,每次指定后,zset会 自动重新按新的值 ...
- 设计完美的策略模式,消除If-else
策略模式是oop中最著名的设计模式之一,是对方法行为的抽象,可以归类为行为设计模式,也是oop中interface经典的应用.其特点简单又实用,是我最喜欢的模式之一.策略模式定义了一个拥有共同行为的算 ...
随机推荐
- sql遍历
DECLARE @BTime DATETIME,@ETime DATETIME;DECLARE @Temp TABLE (ID BIGINT IDENTITY(1,1),aid BIGINT,newc ...
- Git学习(一)——Git介绍与安装
一.Git诞生 Linus在1991年创建了Linux,从此,Linux系统不断发展,成为最大的服务器系统软件. 2005年,Linus用C编写了一个分布式版本控制工具--Git. 二.集中式vs分布 ...
- Request header is too large
当request url过长的时候,经常tomcat后台就会包 "Request header is too large"错误. 解决方法:修改server.xml文件,linux ...
- java_js_json_日期格式化
调用方法: var createBeginTime= createBeginTime.Format("yyyy-MM-dd 00:00:00"); 方法: Date.prototy ...
- iOS代码实现九宫格
#define ScreenW [UIScreen mainScreen].bounds.size.width #define ScreenH [UIScreen mainScreen].bounds ...
- myeclipse10的激活
myeclipse 提醒了我好几天要激活,今天操作了下,出现的问题分享一下. 在激活工具里面没有找到cracker.jar,按照指导双击run.bat,但是打开之后闪一下就自动关闭了,不得其解.然后搜 ...
- XUtils
//HttpUtils实例化对象 HttpUtils http = new HttpUtils(); /* *发送请求send(HttpMethod ...
- colorbox 自适应 高度
$(".example3").colorbox({ inline: true, scrolling: false , onComplete: ...
- ModelAndView详解
ModelAndView的构造方法有7个.但是它们都是相通的. 这里使用无参构造函数来举例说明如何构造ModelAndView实例. ModelAndView类别就如其名称所示,是代表了MVC Web ...
- 一个简单的makefile
#common makefile header LOCAL_INCLUDE := \ -I/xxx/ACE/ACE/ LOCAL_FLAGS := $(LOCAL_INCLUDE) LIBS := - ...