只谈jQuery easyui datagrid 的数据加载,pivotgrid加载数据只有两种方式:一种是ajax加载目标url返回的json数据;另一种是加载js对象,也就是使用loadDate方法。
//正文
$('#tt').pivotgrid('loading');//打开等待div
- //加载完数据关闭等待的div
- $('#pg').pivotgrid('loaded');
//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