easyui pivotgrid统计,数据加载

只谈jQuery easyui datagrid 的数据加载,pivotgrid加载数据只有两种方式:一种是ajax加载目标url返回的json数据;另一种是加载js对象,也就是使用loadDate方法。

//正文

 $('#tt').pivotgrid('loading');//打开等待div 

  1.         //加载完数据关闭等待的div   
  2.         $('#pg').pivotgrid('loaded');  

    $('#pg').pivotgrid('loadData', $.parseJSON(obj));//这一句是绑定json到easyui pivotgrid控件上

//jsp
<script type="text/javascript">
var tree;var lv;
        $(function(){
            //加载行政区划树
            tree = $('#baseManageTree').tree({
                url : '${pageContext.request.contextPath}/pages/hospitalAction!notInterceptor_loginGetAllArea.action',
                parentField : 'parentId',
                lines : true,
                onClick : function(note) {
                    $('#pg').pivotgrid('loading');//打开等待div   
                    lv =  tree.tree("getLevel",note.target);
                    if(lv===3){
                    $('#pg').show();
                    //绑定json数据到 pivotgrid控件上
                      $.ajax({
                      type: "get",
                      url:'${pageContext.request.contextPath}/pages/userStatisticsByAreaAction!notInterceptor_getAreaData.action?id='+note.id,
                      success: function (jsonStr) {
                          $('#pg').pivotgrid('loaded');    //加载完数据关闭等待的div   
                        //2种方法把json字符串转为js对象,eval,JSON.parse  (json字符串 -> js对象)
                            var obj = JSON.parse(jsonStr);//(json字符串 -> js对象)安全
                        //jQuery.parseJSON()函数用于将格式完好的JSON字符串转为与之对应的JavaScript对象
                            $('#pg').pivotgrid('loadData', $.parseJSON(obj));//这一句是绑定json到easyui pivotgrid控件上
                     }
                  });
                    }else{
                        $('#pg').pivotgrid('loadData', '');
                        alert('请选择县级');
                    }
                }
            });
            //绑定json数据到 pivotgrid控件上
          $.ajax({
          type: "get",
          url:'',
          success: function (jsonStr) {
                $('#pg').pivotgrid('loadData', '');//这一句是绑定json到easyui pivotgrid控件上
         }
      });
            load2();
        });
        //展示pivotgrid表格数据内容
        function load2(){
               $('#pg').pivotgrid({
               width:700,
                height:400,
                pivot:{//数据汇总表格配置还包括以下属性:
                    rows:['form','text'],//在左侧显示行.
                    columns:['form'],//数组,在上方显示列.
                    values:[//将字段显示在列中.
                                            {field:'regUser',title:'注册居民',align:'center'},
                                               {field:'regDoc',title:'注册医生',align:'center'},
                                                {field:'ythfwUser',title:'一次性缴费服务',align:'center'}
                    ]
                },
                valueStyler:function(value,row,index){
                    if (/ythfwUser$/.test(this.field) && value>0){
                        return 'background:#D8FFD8'
                    }
                },
                valueFieldWidth:100,
                forzenColumnTitle:'<span style="font-weight:bold">区域</span>',//The title for the frozen column.
            })
        }
    </script>

//dao

public String getAreaData(String id) {
        Map<String,Object> map = null;
        //查询的所有乡
        String sql = " select vc_id as id,vc_parent_id as parentid,vc_name as text from os_system_area where vc_parent_id=?   ";
        List resultList = new ArrayList<>();
        List<Area> list = super.query(sql,new Object[]{id},Area.class);
        //取得名称
        Area queryForObject = super.queryForObject("select vc_name as vcName from os_system_area where vc_id=? ", new Object[]{id},Area.class);
        for (Area area : list) {
            StringBuffer sum1 =  new StringBuffer(" select ");
            sum1.append(" sum(case when VC_VILLAGE in(select vc_id from os_system_area where VC_PARENT_ID=? ) and int_role=1 then 1 else 0 end) as reg_user,"
                    + "  sum(case when VC_VILLAGE in(select vc_id from os_system_area where VC_PARENT_ID=? ) and int_role=2 then 1 else 0 end) as reg_doc, "
                    + "     sum(case when VC_VILLAGE in(select vc_id from os_system_area where VC_PARENT_ID=? ) and int_ythfw_user=1 then 1  else 0 end) as ythfw_user "
                    + " from os_system_user "
                    + "  ");
                   List sumList = super.getJdbcTemplate().query(sum1.toString(), new Object[]{area.getId(),area.getId(),area.getId()}, CustomRowMapper.newInstance());
                  if(sumList.size()>0){
                      for (Object obj : sumList) {
                        BeanMap bm = BeanMap.create(obj);
                        map = new HashMap<String,Object>();
                          map.put( "regUser",bm.get("regUser").toString());
                          map.put("regDoc", bm.get("regDoc").toString());
                          map.put( "ythfwUser",bm.get("ythfwUser").toString());
                          map.put("id", area.getId());
                          map.put("parentId", area.getParentId());
                          map.put("text", area.getText());
                         map.put("form", queryForObject.getVcName());
                 }
                      resultList.add(map);
                  }
        }
        JSONObject obj = new JSONObject();
         return obj.toJSONString(resultList);
    }

//注意json

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值