myjoan 发表于 2013-1-23 02:17:12

表头三层或者多层,多可以从以上扩展

//汽车使用分队车辆修理年度申请计划上报MyGridView = Ext.extend(Ext.grid.GridView, {renderHeaders : function() {var cm = this.cm, ts = this.templates;var ct = ts.hcell, ct2 = ts.mhcell,ctm=ts.mhcellm;var cb = [], sb = [], p = {}, mcb = [],mcbm=[];for (var i = 0, len = cm.getColumnCount(); i < len; i++) {p.id = cm.getColumnId(i);p.value = cm.getColumnHeader(i) || "";p.style = this.getColumnStyle(i, true);if (cm.config.align == 'right') {p.istyle = 'padding-right:16px';}cb = ct.apply(p);                  if (cm.config.mtext)mcb = ct2.apply({value : cm.config.mtext,mcols : cm.config.mcol,mwidth : cm.config.mwidth});   if (cm.config.mtext)mcbm = ctm.apply({valuem : cm.config.mtextm,mcolsm : cm.config.mcolm,mwidthm : cm.config.mwidthm});}var s = ts.header.apply({cells : cb.join(""),//显示字段tstyle : 'width:' + this.getTotalWidth() + ';',mergecells : mcb.join(""),   mergecellsm : mcbm.join("")});return s;}});viewConfig = {templates : {header : new Ext.Template(' <table border="0" cellspacing="0" cellpadding="0" style="{tstyle}">',' <thead> <tr class="x-grid3-hd-row">{mergecellsm} </tr><tr class="x-grid3-hd-row">{mergecells} </tr>'+ ' <tr class="x-grid3-hd-row">{cells} </tr> </thead>'," </table>"),mhcellm : new Ext.Template(      ' <td class="x-grid3-header" colspan="{mcolsm}" style="width:{mwidthm}px;"> <div align="center">{valuem}</div>'," </td>"),mhcell : new Ext.Template(      ' <td class="x-grid3-header" colspan="{mcols}" style="width:{mwidth}px;"> <div align="center">{value}</div>'," </td>")}};Ext.onReady(function(){   var record=new Ext.data.Record.create([         {name:'tasksid'},//任务编号          {name:'deptname'},//车属单位          {name:'deptcoding'},//部门编号          {name:'plantime'},//计划时间          {name:'carkindsname'},//车种名          {name:'carkindsid'},//车种id          {name:'motorcyclename'},//车型名          {name:'motorcycleid'},//车型id          {name:'vin'},//车牌号          {name:'vehiclecode'},//车辆编号          {name:'engine'},//发动机号          {name:'framenumber'},//车架号          {name:'hasmileage'},//已行驶里程          {name:'repairmiles'},//大中修里程          {name:'equipmentdate'},//装备日期          {name:'shiyongnianxian'},//使用年限---          {name:'checktime'},//检测时间----          {name:'jiancexingshilicheng'},//检测时行驶里程----          {name:'xiajiangzhi'},//下降值---          {name:'sa1'},//sa1          {name:'l'},//L          {name:'sa2'},//sa2          {name:'daxiu'},//车辆大修          {name:'zhongxiu'},//车辆中修          {name:'fadongji'},//发动机          {name:'biansuqi'},//变速器          {name:'qianqiao'},//前桥          {name:'houqiao'},//后桥          {name:'chejia'},//车架          {name:'chesheng'},//车身          {name:'zxxt'},//转向系统          {name:'zdxt'},//制动系统          {name:'dqxt'},//电气系统          {name:'xiaoxiu'}//车辆小修             ]);   var myPageSize=10;   var store = new Ext.data.Store({proxy : new Ext.data.HttpProxy({url : "carservice/Repairyear!RepairyearsubmitSelect.action"// 路径}),reader : new Ext.data.JsonReader({totalProperty : 'totalProperty',// 一共有totalPrpperty条数据root : 'root'// 存储后台数据}, record),baseParams : {start : 0,limit : myPageSize},      listeners:{beforeload: function(store,options ) {    // 分页面查询条件,需自己组织      Ext.apply(store.baseParams,{      'deptcoding':deptcoding_s,      'vin':vin_s,      'plantime':plantime_s,      'motorcycleid':motorcycleid_s,      'carkindsid':carkindsid_s      });   }}         });      var cm=new Ext.grid.ColumnModel([      {            mtextm: " ",            mtext : " ",            mcol : 1,            mcolm : 1,            mwidth : 60,            mwidthm : 60,            width : 60,            header : "<div align='center'>车属单位</div>" ,                           dataIndex : "deptname"      }, {         mtextm : " ",            mtext : "   ",                        mcolm : 1,            mcol : 1,                        mwidthm : 50,            mwidth : 50,            width : 50,            header : "<div align='center'>车种名</div>",            dataIndex : "carkindsname"      }, {            mtextm :" ",            mtext : "   ",                        mcolm : 1,            mcol : 1,                        mwidthm : 50,            mwidth : 50,            width : 50,            header : "<div align='center'>车型名</div>",            dataIndex : "motorcyclename"      },{            mtextm :"   ",            mtext : "   ",                        mcolm : 1,            mcol : 1,                        mwidthm : 50,            mwidth : 50,            width : 50,            header : "<div align='center'>车牌号</div>",            dataIndex : "vin"      }, {             mtextm : "   ",             mtext : " ",                         mcolm : 1,             mcol : 1,                         mwidthm : 60,             mwidth : 60,             width : 60,             header : "<div align='center'>发动机号</div>",             dataIndex : "engine"      },{            mtextm : "   ",            mtext : "   ",                        mcolm : 1,            mcol : 1,                        mwidthm : 50,            mwidth : 50,            width : 50,            header : "<div align='center'>车架号</div>",            dataIndex : "framenumber"      }, {            mtextm : "   ",            mtext : "   ",                        mcolm : 1,            mcol : 1,                        mwidthm : 70,            mwidth : 70,            width : 70,            header : "<div align='center'>已行驶里程</div>",            dataIndex : "hasmileage"      },{            mtextm : "   ",            mtext : "   ",                        mcolm : 1,            mcol : 1,                        mwidthm : 80,            mwidth : 80,            width : 80,            header : "<div align='center'>大中修里程</div>",            dataIndex : "repairmiles"      },{            mtextm : "   ",            mtext : " ",                        mcolm : 1,            mcol : 1,                        mwidthm : 60,            mwidth : 60,            width : 60,            header : "<div align='center'>装备时间</div>",            dataIndex : "equipmentdate"      },{         mtextm : "   ",            mtext : " ",                        mcolm : 1,            mcol : 1,                        mwidthm : 60,            mwidth : 60,            width : 60,            header : "<div align='center'>使用年限</div>",            dataIndex : "shiyongnianxian"      },{            mtextm :" " ,            mtext : "<div align='center'>轮边输出功率下降值检测记录</div>",            mcolm : 3,            mcol : 3,            mwidthm : 300,            mwidth : 300,            width : 100,            header : "<div align='center'>检测时间</div>",            dataIndex : "jianceshijian"      },{                      width : 100,            header : "<div align='center'>检测时行驶里程</div>",            dataIndex : "jiancexingshilicheng"      },{                      width : 100,            header : "<div align='center'>下降值</div>",            dataIndex : "xiajiangzhi"      },{          mtextm : " ",            mtext : "   ",                     mcolm : 1,            mcol : 1,                         mwidthm : 150,            mwidth : 150,            width : 150,            header : "<div align='center'>车辆总行驶里程<br />sa1(公里)</div>",            dataIndex : "sa1"      },{            mtextm : "   ",            mtext : "   ",                     mcolm : 1,            mcol : 1,                         mwidthm : 100,            mwidth : 100,            width : 100,            header : "<div align='center'>下年度车公里<br />保障预算L</div>",            dataIndex : "l"      },{         mtextm : "   ",            mtext : "   ",                     mcolm : 1,            mcol : 1,                         mwidthm : 130,            mwidth : 130,            width : 130,            header : "<div align='center'>下年度车辆总行驶里程<br />预算SA2(公里)</div>",            dataIndex : "sa2"      },{         mtextm : "下年度车辆修理需求预算(台次)",            mtext : "   ",                     mcolm : 12,         mcol : 1,                      mwidthm : 960,            mwidth : 80,            width : 80,            header : "<div align='center'>车辆大修</div>",            dataIndex : "daxiu"      },{            mtext : "  ",                  mcol : 1,            mwidth : 80,            width : 80,            header : "<div align='center'>车辆中修</div>",            dataIndex : "zhongxiu"      }, {            mtext : "总成",            mcol : 9,                        mwidth : 720,            width : 80,            header : "<div align='center'>发动机</div>",            dataIndex : "fadongji"      },{            width : 80,            header : "<div align='center'>变速器</div>",            dataIndex : "biansuqi"      },{            width : 80,            header : "<div align='center'>前桥</div>",            dataIndex : "qianqiao"      },{            width : 80,            header : "<div align='center'>后桥</div>",            dataIndex : "houqiao"      },{            width : 80,            header : "<div align='center'>车架</div>",            dataIndex : "chejia"      },{            width : 80,            header : "<div align='center'>车身</div>",            dataIndex : "chesheng"      },{            width : 80,            header : "<div align='center'>转向系统</div>",            dataIndex : "zxxt"      },{            width : 80,            header : "<div align='center'>制动系统</div>",            dataIndex : "zdxt"      },{            width : 80,            header : "<div align='center'>电气系统</div>",            dataIndex : "dqxt"      },{            mtext : "  ",            mcol : 1,                        mwidth : 80,            width : 80,            header : "<div align='center'>车辆小修</div>",            dataIndex : "xiaoxiu"      }   ]);      var grid = new Ext.grid.GridPanel({         region:'center',   frame:true,   title:"车辆维修年度任务",      loadMask:true,   autoWidth:true,      viewConfig:{    forceFit:true   },      height:500,          cm:cm,       store:store,      view:new MyGridView(viewConfig),      bbar:new Ext.PagingToolbar({pageSize:myPageSize,store:store,displayInfo:true,displayMsg:'显示第{0}条到{1}条记录,一共{2}条',emptyMsg:"没有记录"}),buttonAlign:'left',buttons:[{text:'上报',handler:onReport}]    });    function onReport()    {          var record=grid.getStore().getAt(0);   var jsonArray = [];   if(record==null)   {   Ext.Msg.alert('提示','无信息上报!');   return;   }jsonArray.push(record.data);      data=Ext.encode(jsonArray); //      alert(data);      Ext.Ajax.request({         url:'carservice/Repairyear!UpReport.action',       params:'json='+data,       customer:'字定义属性',      method:'post',       callback:function(options,success,response)      {      varbo=response.responseText;         if(success)   {      Ext.Msg.alert('提示',bo);   }else    {      Ext.Msg.alert('错误',"请联系管理员!");   }         }            });   }      //查询    var unitedstore = new Ext.data.Store({      proxy: new Ext.data.HttpProxy({url: "carservice/Dept!DeptAll.action"}),      reader: new Ext.data.JsonReader({      root: 'root'      },[      {name: 'deptcoding',type:'string'},      {name: 'deptname',type:'string'}      ])    });   unitedstore.load();varunited=new Ext.form.ComboBox({//      id:'',//          name:'',          hiddenName:'deptcodings',          fieldLabel:'单位',          triggerAction:'all', //单击触发按钮显示全部数据          store:unitedstore,      //设置数据源          displayField:'deptname',    //定义要显示的字段          valueField:'deptcoding',          //定义值字段          mode:'local',            //本地模式          width:100,          allowBlank:false,          blankText:'单位必选!',          forceSelection:true,   //要求输入值必须在列表中存在          resizable:false,//允许改变下拉列表的大小          typeAhead:true,//允许自动选择匹配的剩余部分文本          emptyText:'请选择', //默认选择          handleHeight:10//下拉列表中拖动手柄的高度});var ptstore = new Ext.data.Store({      proxy: new Ext.data.HttpProxy({url: "carservice/Plan!Yeararray.action"}),      reader: new Ext.data.JsonReader({      root: 'root'      },[      {name: 'timedisplay'},      {name: 'timevalue'}      ])    });   ptstore.load(); var plantime=new Ext.form.ComboBox({//下拉框                  fieldLabel:'计划时间',          triggerAction:'all', //单击触发按钮显示全部数据          store:ptstore,      //设置数据源          displayField:'timedisplay',    //定义要显示的字段          valueField:'timevalue',          //定义值字段          mode:'local',            //本地模式          width:100,         allowBlank:false,          blankText:'计划时间必选!',          forceSelection:true,   //要求输入值必须在列表中存在          resizable:false,//允许改变下拉列表的大小          typeAhead:true,//允许自动选择匹配的剩余部分文本          emptyText:'请选择',          handleHeight:10//下拉列表中拖动手柄的高度          }); var platenumber=new Ext.form.TextField({    id:'',name:'vin',width:100,fieldLabel:'车牌号'}); var cxstore = new Ext.data.Store({      proxy: new Ext.data.HttpProxy({url: "carservice/Motorcycle!MotorcycleAll.action"}),      reader: new Ext.data.JsonReader({      root: 'root'      },[      {name: 'motorcyclename',type:'string'},      {name: 'motorcycleid',type:'string'}      ])    });   cxstore.load();var cxing=new Ext.form.ComboBox({//下拉框                  fieldLabel:'车型',          triggerAction:'all', //单击触发按钮显示全部数据          store:cxstore,      //设置数据源          displayField:'motorcyclename',    //定义要显示的字段          valueField:'motorcycleid',          //定义值字段          mode:'local',            //本地模式          width:100,          forceSelection:true,   //要求输入值必须在列表中存在          resizable:false,//允许改变下拉列表的大小          typeAhead:true,//允许自动选择匹配的剩余部分文本          emptyText:'请选择',                   handleHeight:10//下拉列表中拖动手柄的高度          });var czstore = new Ext.data.Store({      proxy: new Ext.data.HttpProxy({url: "carservice/Caikinds!CarkindsAll.action"}),      reader: new Ext.data.JsonReader({      root: 'root'      },[      {name: 'carkindsname',type:'string'},      {name: 'carkindsid'}      ])    }); czstore.load();var czhong=new Ext.form.ComboBox({//下拉框                  name:'carkindsidcz',                   fieldLabel:'车种',          triggerAction:'all', //单击触发按钮显示全部数据          store:czstore,      //设置数据源          displayField:'carkindsname',    //定义要显示的字段          valueField:'carkindsid',          //定义值字段          mode:'local',            //本地模式local 远程模式 remote             width:100,          forceSelection:true,   //要求输入值必须在列表中存在          resizable:false,//允许改变下拉列表的大小          typeAhead:true,//允许自动选择匹配的剩余部分文本          emptyText:'请选择',          handleHeight:10//下拉列表中拖动手柄的高度          });    var form=new Ext.form.FormPanel({      region:'north',      height:145,      frame:true,      items:[{      xtype: 'fieldset',      layout:'column',      title: '选择条件',            items:[      {      layout:'column',      items:[{                layout: 'form',                columnWidth: .33,                labelWidth: 35,                items:                 },{                layout: 'form',                columnWidth: .33,                labelWidth: 80,                items:                 },{                layout: 'form',                columnWidth: .33,                labelWidth: 50,                items:                 }]      }, {      layout:'column',      items:[{                layout: 'form',                columnWidth: .33,                labelWidth: 35,                items:                 },{                layout: 'form',                columnWidth: .33,                labelWidth: 80,                items:                 }]      }]          }],          buttonAlign:'left',          buttons:[{text:'查 询',width:70,handler:onSelectClick}]      });    var deptcoding_s,vin_s,plantime_s,motorcycleid_s,carkindsid_s;    function onSelectClick()    {    if(!form.getForm().isValid())   {   return;   }    deptcoding_s=''+united.getValue();vin_s= ''+platenumber.getValue();plantime_s=''+plantime.getValue();motorcycleid_s=''+cxing.getValue();carkindsid_s=''+czhong.getValue();       store.load();    }    var viewport=new Ext.Viewport({   layout:'border',   items:    });}); 
页: [1]
查看完整版本: 表头三层或者多层,多可以从以上扩展