easyUI复杂表头(效果图)&&代码

311 篇文章 0 订阅
192 篇文章 0 订阅

在这个项目中我们使用的是Ext+EasyUI(主要是解决多表头问题),在这里我就只粘贴出部分EasyUI代码:


最终实现效果图:

 \


以下是实现的代码:

EasyUI版本:jquery-easyui-1.2.5

//生成JSON代码js


[javascript] //转换Json对象  
function  toColJson(){ 
      var jsonText='{'; 
      jsonArray=arguments[0]; 
      var digit=1; 
      for(var i=0;i<jsonArray.length;i++){ 
          if((typeof arguments[i+digit])=='string') 
             jsonText+=jsonArray[i]+': "'+arguments[i+digit]+'"'; 
           else if((typeof arguments[i+digit])=='function') 
               jsonText+=jsonArray[i]+':'+arguments[i+digit]+''; 
           else 
              jsonText+=jsonArray[i]+':"'+arguments[i+digit]+'"'; 
        if(i!=jsonArray.length-1){ 
            jsonText+=','; 
        } 
     } 
      jsonText+='}'; 
    // alert(jsonText);  
     return eval('('+jsonText+')');   

//转换Json对象
function  toColJson(){
   var jsonText='{';
   jsonArray=arguments[0];
   var digit=1;
   for(var i=0;i<jsonArray.length;i++){
       if((typeof arguments[i+digit])=='string')
       jsonText+=jsonArray[i]+': "'+arguments[i+digit]+'"';
     else if((typeof arguments[i+digit])=='function')
      jsonText+=jsonArray[i]+':'+arguments[i+digit]+'';
     else
     jsonText+=jsonArray[i]+':"'+arguments[i+digit]+'"';
   if(i!=jsonArray.length-1){
    jsonText+=',';
   }
     }
   jsonText+='}';
 // alert(jsonText);
  return eval('('+jsonText+')'); 
}
EasyUI实现复杂表头:


[javascript] //创建列  
         var keys01=['title','align','colspan']; 
         var keys03=['title','align','colspan','rowspan']; 
         var key02=['title','align','colspan','field','width','sortable']; 
         var key04=['title','align','colspan','rowspan','field','width','sortable']; 
         var continentGroupRow=new Array();//合并表头  
         continentGroupRow.push(toColJson(key04,'区划名称','left',1,3,'areaName',100,true)); 
         continentGroupRow.push(toColJson(key04,'时间','left',1,3,'datetime',80,true)); 
 
         
         continentGroupRow.push(toColJson(keys03,'合计','center',1,2)); 
          
         continentGroupRow.push(toColJson(keys01,'流向县级以外病人','center',6)); 
         continentGroupRow.push(toColJson(keys01,'流向县级','center',2)); 
         continentGroupRow.push(toColJson(keys01,'流向乡级','center',2)); 
         continentGroupRow.push(toColJson(keys01,'流向其它','center',2)); 
          
          
          
         var cityGroupRow=new Array();//合并表头  
          
        // cityGroupRow.push(toColJson(keys01,'合计','center',1));  
         cityGroupRow.push(toColJson(keys01,'小计','center',2)); 
         cityGroupRow.push(toColJson(keys01,'流向省级定点医疗机构病人数','center',2)); 
         cityGroupRow.push(toColJson(keys01,'流向市级定点医疗机构病人数','center',2)); 
         cityGroupRow.push(toColJson(keys01,'医疗机构病人数','center',2)); 
         cityGroupRow.push(toColJson(keys01,'医疗机构病人数 ','center',2)); 
         cityGroupRow.push(toColJson(keys01,'医疗机构病人数','center',2)); 
          
         var columns=new Array();//列  
     
         columns.push(toColJson(key02,'(单位:人)','right',1,'totalNum',80,true)); 
         columns.push(toColJson(key02,'人数','right',1,'outCouLvlSumNum',60,true)); 
         columns.push(toColJson(key02,'比率','right',1,'p0',60,true)); 
         columns.push(toColJson(key02,'人数','right',1,'proLvlNum',85,true)); 
         columns.push(toColJson(key02,'比率','right',1,'p1',85,true)); 
         columns.push(toColJson(key02,'人数','right',1,'cityLvlNum',85,true)); 
         columns.push(toColJson(key02,'比率','right',1,'p2',85,true)); 
         columns.push(toColJson(key02,'人数','right',1,'couLvlNum',60,true)); 
         columns.push(toColJson(key02,'比率','right',1,'p3',60,true)); 
         columns.push(toColJson(key02,'人数','right',1,'vicusLvlNum',60,true)); 
         columns.push(toColJson(key02,'比率','right',1,'p4',60,true)); 
         columns.push(toColJson(key02,'人数','right',1,'elseLvlNum',60,true)); 
         columns.push(toColJson(key02,'比率','right',1,'p5',60,true)); 
          
          
         $('#grid').datagrid({ 
            url:'',//basePath+'/himp/tdata_finance_exp_and_rec_org_sta!ajaxList.action',  
            //title: '表信息',  
            fit: true, 
            nowrap:false, 
            rownumbers:true, 
            pagination:true, 
            pageNumber:1, 
            singleSelect:true,//只允许选一行  
            sortOrder: 'desc', 
            remoteSort: false,//远程排序禁止  
            striped:true, 
            loadMsg:'正在加载请稍后!',  
            pageSize:20, 
            pageList:[10,20,50,100],  
            showFooter:true, 
            //frozenColumns:[frozenColumns],//锁定的列  
               columns:[continentGroupRow,cityGroupRow,columns] 
            }); 
//创建列
      var keys01=['title','align','colspan'];
      var keys03=['title','align','colspan','rowspan'];
      var key02=['title','align','colspan','field','width','sortable'];
      var key04=['title','align','colspan','rowspan','field','width','sortable'];
      var continentGroupRow=new Array();//合并表头
      continentGroupRow.push(toColJson(key04,'区划名称','left',1,3,'areaName',100,true));
      continentGroupRow.push(toColJson(key04,'时间','left',1,3,'datetime',80,true));

    
      continentGroupRow.push(toColJson(keys03,'合计','center',1,2));
     
      continentGroupRow.push(toColJson(keys01,'流向县级以外病人','center',6));
      continentGroupRow.push(toColJson(keys01,'流向县级','center',2));
      continentGroupRow.push(toColJson(keys01,'流向乡级','center',2));
      continentGroupRow.push(toColJson(keys01,'流向其它','center',2));
     
     
     
      var cityGroupRow=new Array();//合并表头
     
     // cityGroupRow.push(toColJson(keys01,'合计','center',1));
      cityGroupRow.push(toColJson(keys01,'小计','center',2));
      cityGroupRow.push(toColJson(keys01,'流向省级定点医疗机构病人数','center',2));
      cityGroupRow.push(toColJson(keys01,'流向市级定点医疗机构病人数','center',2));
      cityGroupRow.push(toColJson(keys01,'医疗机构病人数','center',2));
      cityGroupRow.push(toColJson(keys01,'医疗机构病人数 ','center',2));
      cityGroupRow.push(toColJson(keys01,'医疗机构病人数','center',2));
     
      var columns=new Array();//列
 
      columns.push(toColJson(key02,'(单位:人)','right',1,'totalNum',80,true));
      columns.push(toColJson(key02,'人数','right',1,'outCouLvlSumNum',60,true));
      columns.push(toColJson(key02,'比率','right',1,'p0',60,true));
      columns.push(toColJson(key02,'人数','right',1,'proLvlNum',85,true));
      columns.push(toColJson(key02,'比率','right',1,'p1',85,true));
      columns.push(toColJson(key02,'人数','right',1,'cityLvlNum',85,true));
      columns.push(toColJson(key02,'比率','right',1,'p2',85,true));
      columns.push(toColJson(key02,'人数','right',1,'couLvlNum',60,true));
      columns.push(toColJson(key02,'比率','right',1,'p3',60,true));
      columns.push(toColJson(key02,'人数','right',1,'vicusLvlNum',60,true));
      columns.push(toColJson(key02,'比率','right',1,'p4',60,true));
      columns.push(toColJson(key02,'人数','right',1,'elseLvlNum',60,true));
      columns.push(toColJson(key02,'比率','right',1,'p5',60,true));
     
     
      $('#grid').datagrid({
       url:'',//basePath+'/himp/tdata_finance_exp_and_rec_org_sta!ajaxList.action',
    //title: '表信息',
    fit: true,
    nowrap:false,
    rownumbers:true,
    pagination:true,
    pageNumber:1,
    singleSelect:true,//只允许选一行
    sortOrder: 'desc',
    remoteSort: false,//远程排序禁止
    striped:true,
    loadMsg:'正在加载请稍后!',
    pageSize:20,
    pageList:[10,20,50,100],
    showFooter:true,
    //frozenColumns:[frozenColumns],//锁定的列
      columns:[continentGroupRow,cityGroupRow,columns]
   });


以上代码就是主要的实现;

 

 

摘自 yhc13429826359的专栏

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值