easyui控件使用例子

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具体用法下面代码有

1.前端代码<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>
2.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": 1,
    "text": "Node 1",
    "state": "closed",
    "children": [{
        "id": 11,
        "text": "Node 11"
    },{
        "id": 12,
        "text": "Node 12"
    }]
},{
    "id": 2,
    "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", 0);
            rootObject.put("text", "全部");
            rootObject.put("state", "closed");
            rootObject.put("attributes", "{‘pid‘:"+0+"}");
            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==0){
                tree.put("state","open");
            }else{
                tree.put("state","closed");
            }

            result.add(tree);
        }

        return result;
    }
时间: 2024-08-10 16:59:27

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

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

要实现的功能:在做添加学生信息的时候,利用easyui的验证功能判断 学号是否重复和学号只能为数字 最终效果如下图: 但在做这个的过程中,遇到了一系列的问题: 扩展validatebox的验证方法,最开始的验证代码如下: 1 //学号格式只能为数字 ****//这里没有问题**** 2 number: {//value值为文本框中的值 3 validator: function (value) { 4 var reg = /^[0-9]*$/; 5 return reg.test(value);

将数据处理成easyui控件需要的格式

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using Newtonsoft.Json; using Newtonsoft.Json.Converters; namespace Original.Common { /// <summary> /// 将数据转换成easyui控件支持的数据格式 /// </summary>

easyui 控件获取焦点方式

针对easyui控件前端组织的dom做分析,如下: combo/combobox/combogrid类似结构如下: <input class="easyui-datebox datebox-f combo-f textbox-f" id="myid" data-options="required: true,buttons:buttons,editable:false,onSelect:selectSDate" style="wi

cocos2d-js 3.0 rc2 自定义UI控件组件 例子:能播放动画的MenuItem。MenuItemSprite的bug

其实总体自定义UI组件都比较简单,尤其是cocos2d-js是开源的,如果有什么不明白的直接看js代码或者C++代码即可.当然js代码基本就够了. 另外,js的ctor函数虽然说是构造函数,但毕竟不是flash或者c++的构造函数,这只是一个普通函数,也就是说可以不在第一行默认调用,这就给扩展带来了不少方便. 现在想做一个声音按钮,点一下能关闭音乐,再点一下又能打开.当然就是MenuItemToggle了. 但想做得再炫一点,有声音的时候,按钮的样子能有几个音波的变化.那么就需要用MenuIte

新手学EasyUI----动态拼接EasyUI控件

最近在做的项目中,根据查询到的数据,然后动态的拼接easyUI的控件显示到界面上.在数据库中,有一个命令的表,还有一个参数的表,先到命令的表中去查询这一个设备有哪些命令,比如说,摄像头有一个转动的命令,那么就要把转动这个命令动态的拼接成EasyUI的Button按钮,然后根据命令去查询这个命令下的参数,比如说,转动是有角度的,10°,20°--,这个度就是命令下的参数,然后动态的拼接成text或者combobox的样式. 下面就把代码展示一下,B层和D层都是简单的查询,返回的是DataTable

easyui控件的加载顺序

使用easyui做布局时,会模仿窗口程序界面,做出一些较复杂的布局.按由外层到内层的顺序: (最外层)panel->tabs->tabs1 ->tabs2->layout->北区 ->中区-> panel多个...(最里层) ->西区 开始没注意控件的加载顺序,只是将同一种控件统一加载了结果最里层的panel尺寸超出父容器. 一时想不明白,后来忽感觉到easyui会在加载控件时计算它的尺寸, 如果先加载了内层的panel再加载它的父容器控件,则一定尺寸不对.

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

近期在做的项目中.依据查询到的数据,然后动态的拼接easyUI的控件显示到界面上. 在数据库中,有一个命令的表,另一个參数的表,先到命令的表中去查询这一个设备有哪些命令,比方说.摄像头有一个转动的命令,那么就要把转动这个命令动态的拼接成EasyUI的Buttonbutton.然后依据命令去查询这个命令下的參数,比方说,转动是有角度的,10°,20°--.这个度就是命令下的參数,然后动态的拼接成text或者combobox的样式. 以下就把代码展示一下,B层和D层都是简单的查询.返回的是DataT

Easyui 控件的初始化方法

问题: Easyui的控件在初始化的时候有两种方式: 页面指定class属性 js里初始化该id为easyui的控件 那么问题是: 如果页面不指定class属性,只是使用js初始化的话,会导致无法用控件选取该id的指定控件的方法吗? 解决: 经过测试,只是使用js初始化的话,可以选取该控件 如果出现不能选取的问题,一般情况下都是js报错了,导致无法加载. 原文地址:https://www.cnblogs.com/hackxiyu/p/8321435.html

树形控件简单例子

此实例实现的功能:在一个树形控件中显示鸡啄米网站的简单结构分层,共有三层,分别为鸡啄米网站.各个分类和文章.用鼠标左键单击改变选中节点后,将选中节点的文本显示到编辑框中.下面是具体实现步骤: 1. 创建一个基于对话框的MFC工程,名称设置为"Example31". 2. 在自动生成的对话框模板IDD_EXAMPLE31_DIALOG中,删除"TODO: Place dialog controls here."静态文本框."OK"按钮和"