1.easyui之dataGrid分页加载数据例子

注意:1)分页表格通过url获得数据会提交page,rows两个参数;后台需要获取这两个参数并且由此得到

   int pageSize=rows/page;//每页记录数

   int pageNum=page;//当前页面

  之后获得分页数据可用sql:............LIMIT "+(pageNum-1)*pageSize+","+pageSize;放回需要的指定页面数据

   2)后台代码需要放回固定格式的json数据{"total":28,"rows":[{},{},{}]}类似这个格式

    可以用com.alibaba.fastjson.JSONObject  fastjson工具处理json数据;

    一般我们常用这个工具俩个对象:JSONObject;JSONArray具体用法下面代码有

.前端代码
<div id="tt"></div>
<script>
  $('#tt').datagrid({
   singleSelect : true,

    loadMsg:'数据加载中请稍后……',
    pagination: true,
    rownumbers: true,
    fitColumns : true,
    width:'auto' ,
    columns:[[
      {field:'id',title: 'id',align: 'left'},
      {field:'pid',title: 'pid',align: 'left'},
      {field:'level',title: 'level',align: 'left'},
      {field:'code',title: 'code',align: 'left'},
      {field:'name',title: 'name',align: 'left'},
    ]],
   url:'sysMgrController.do?showSSQTableBypid&pid='+pid//通过url放回json数

  })
</script>
.java后台代码

  @RequestMapping(params = "showSSQTableBypid", method = RequestMethod.POST)
  @ResponseBody
  public JSONObject showSSQTableBypid(int page,int rows,Integer pid,HttpServletRequest request, HttpServletResponse response) throws NoSuchFieldException, Exception {
    JSONObject result=new JSONObject();
    int pageSize=rows/page;//每页记录数
    int pageNum=page;//当前页面
    String sql="SELECT id AS id,pid AS pid,level AS level,code AS code,name AS name FROM ty_conf_division WHERE pid="+pid+" LIMIT"+(pageNum-1)*pageSize+","+pageSize ;
    List<Map<String, Object>> rows1=sysMgrServiceI.findForJdbc(sql);
    //获得总的记录数
    String totalPage = "select count(1) as count from ty_conf_division where pid="+pid;
    Map<String, Object> count = sysMgrServiceI.findOneForJdbc(totalPage);
    int total=Integer.parseInt(String.valueOf(count.get("count")));
    result.put("total", total);
    result.put("rows", rows1);
    return result;
}

2.easyui tree异步加载json数据例子:其中很多事件方法可以利用

  1)注意:tree异步加载数据

       tree控件对异步加载数据有个机制:在展开节点时会自动发送节点id参数到后台,后台可以获取这个参数加载节点下的数据

      符合tree的json格式类似于:

[{
"id": ,
"text": "Node 1",
"state": "closed",
"children": [{
"id": ,
"text": "Node 11"
},{
"id": ,
"text": "Node 12"
}]
},{
"id": ,
"text": "Node 2",
"state": "closed"
}]

  2)例子:

    主要思想:根据节点参数id,查询子节点所有对象,再通过JSONObject封装子节点对象,再将所有的子节点对象加入JSONArray对象中放回就是符合tree格式的json数据了

前台部分代码
<ul id="provinceCityArea"></ul>
<script>
$("#provinceCityArea").tree({
checbox:true,
url:"sysMgrController.do?showSSQTree",
animate:true,
checkbox:true,
onClick: function(node){
//dosomething
},
});
</script>
后台部分代码
@RequestMapping(params = "showSSQTree", method = RequestMethod.POST)
@ResponseBody
public JSONArray showSSQTree(Integer id,HttpServletRequest request, HttpServletResponse response) throws NoSuchFieldException, Exception {
//返回满足Tree需要的Json类型数据
JSONArray result=new JSONArray();
//处理id
if((id==null)||"".equals(id)) {
JSONObject rootObject = new JSONObject();
rootObject.put("id", );
rootObject.put("text", "全部");
rootObject.put("state", "closed");
rootObject.put("attributes", "{'pid':"++"}");
result.add(rootObject);
}
String sql="SELECT id AS id,pid AS pid,level AS level,code AS code,name AS name FROM ty_conf_division WHERE pid="+id;
List<Map<String, Object>> list2=sysMgrServiceI.findForJdbc(sql);
for (Map<String, Object> map : list2) {
JSONObject tree=new JSONObject();
int id1=Integer.parseInt(String.valueOf(map.get("id")));
String text=String.valueOf(map.get("name"));
int pid=Integer.parseInt(String.valueOf(map.get("pid")));//父节点
tree.put("id", id1);
tree.put("text",text);
tree.put("attributes", "{'pid':"+pid+"}");
//判断是否有子节点,如果有则closed否则open
String hasChilds="SELECT count(1) FROM ty_conf_division WHERE pid="+id1;
Long count=sysMgrServiceI.getCountForJdbc(hasChilds);
if(count==){
tree.put("state","open");
}else{
tree.put("state","closed");
} result.add(tree);
} return result;
}

easyui控件使用例子的更多相关文章

  1. easyui表单多重验证,动态设置easyui控件

    要实现的功能:在做添加学生信息的时候,利用easyui的验证功能判断 学号是否重复和学号只能为数字 最终效果如下图: 但在做这个的过程中,遇到了一系列的问题: 扩展validatebox的验证方法,最 ...

  2. easyui 控件获取焦点方式

    针对easyui控件前端组织的dom做分析,如下: combo/combobox/combogrid类似结构如下: <input class="easyui-datebox dateb ...

  3. 动态添加easyui 控件

    jquery提供了append,appendTo方法,可以动态添加静态的html文本,在easyui中,要动态添加easyui控件要怎么做呢,下面就来介绍动态添加easyui控件. 使用方法:和添加静 ...

  4. EasyUI控件combobox重复请求后台,dialog窗口数据异常

    最近在用Easy UI+Dapper+MVC4 开发一个财务收款系统,其中就发现一些小问题,供有需要的人参考. 1.EasyUI控件combobox 数据绑定 出现重复请求后台 上代码: <td ...

  5. 扩展 easyui 控件系列:为datagrid 增加过滤行

    此功能还为真正完成,起到抛砖引玉的效果,发动大家的力量把这个功能完善起来,效果图如下: 基本上就是扩展了 datagrid.view 中的onAfterRender 这个事件,具体代码如下: $.ex ...

  6. easyui控件的加载顺序

    使用easyui做布局时,会模仿窗口程序界面,做出一些较复杂的布局.按由外层到内层的顺序: (最外层)panel->tabs->tabs1 ->tabs2->layout-&g ...

  7. EasyUi控件Datagrid

    很久没有打开我的博客园,刚刚大概扫了一眼我之前写的笔记,关于Devexpress那篇居然有四千多的浏览记录,不知道对浏览过的博友有没有起到一点点作用.当然我写笔记仅仅只是给自己留个记忆,如果歪打正着帮 ...

  8. Easyui 控件的初始化方法

    问题: Easyui的控件在初始化的时候有两种方式: 页面指定class属性 js里初始化该id为easyui的控件 那么问题是: 如果页面不指定class属性,只是使用js初始化的话,会导致无法用控 ...

  9. EasyUI----动态拼接EasyUI控件

    近期在做的项目中.依据查询到的数据,然后动态的拼接easyUI的控件显示到界面上. 在数据库中,有一个命令的表,另一个參数的表,先到命令的表中去查询这一个设备有哪些命令,比方说.摄像头有一个转动的命令 ...

随机推荐

  1. MySQL中enum类型数据,要传入字符串

    问题来源:公司业务,某张表中一个字段定义为: enum('0','1','2','3','4','5','6','7','8','9','10') NOT NULL DEFAULT '0' 某天跑脚本 ...

  2. Android开发:《Gradle Recipes for Android》阅读笔记(翻译)2.2——将Eclipse开发的项目导入到AndroidStudio

    问题: 你想要将一个Eclipse ADT项目导入到Android Studio中. 解决方案: Android Studio提供了一个导入向导,可以重写已有的项目. 详细: 在Android Stu ...

  3. python redis操作

    import redis r = redis.Redis( host='1xx.x24.3xx.x0', #ip, password='xnxnxn&*',#密码 port=6379, #端口 ...

  4. pycharn设置git提交代码

    1.设置pycharm的git地址 2.设置git地址及本地路径 3.提交代码

  5. 在腾讯云服务器上实现java web项目部署

    ----------------------------博主讲废话 几天前搞了一台体验七天的腾讯云服务器.之前已实现在新浪云下java web项目的部署,不需要自己搭建环境,比较简单,而且自 己也偷懒 ...

  6. Android系统移植与调试之------->增加一个双击物理按键打开和关闭闪光灯并将闪光灯状态同步到下拉菜单中

    最近有一个客户有这样的需求: 1.在[设置]--->[无障碍]中添加一个开关按钮. 如果打开开关的话,双击某个物理按键的时候,打开闪光灯,再双击该物理按键的时候,关闭闪光灯. 如果关闭开关的话, ...

  7. 试着利用BAPI 寻找F-59创建凭证的函数

    功能块代码 F-59开发类 FIBP事务说明 支付请求 事物:FBP1Screen 0BKPF-BLART = AB________________________________________从程 ...

  8. shuit模块

    shuit模块 #高级的 文件.文件夹.压缩包 处理模块 shutil.copyfileobj(fsrc, fdst[, length])将文件内容拷贝到另一个文件中,可以部分内容 def copyf ...

  9. 2.6 基于ARDUINO UNO+MC20的路径显示功能

    需要准备的硬件 MC20开发板 1个 https://item.taobao.com/item.htm?id=562661881042 GSM/GPRS天线 1根 https://item.taoba ...

  10. MFC实现文字随鼠标移动

    1 实验介绍 此实验是在刚开始接触MFC时做的.它要求实现的功能如下: 文字跟随鼠标动态移动(跟随移动方式自定) 修改图标为自己喜欢的图标 修改窗口标题 修改文档名称 可以用菜单项选定指定的颜色显示文 ...