博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
dt Grid 使用记录
阅读量:6280 次
发布时间:2019-06-22

本文共 7015 字,大约阅读时间需要 23 分钟。

  hot3.png

1、table表格合并

tables.dtGridColumns = [                {id: 'schoolName', title: '学校', type: 'string', columnClass: 'text-center', fastQuery:true, fastQueryType:'eq',rowspan:'2'},                {id: 'originalNewMoney', title: '正价新签', type: 'string', columnClass: 'text-center', fastQuery:true, fastQueryType:'lk', colspan:'4', coltitle:'净收入'},                {id: 'originalRenewalMoney', title: '正价续费', type: 'string', columnClass: 'text-center', fastQuery:true, fastQueryType:'lk'},                {id: 'specialMoney', title: '特价', type: 'string', columnClass: 'text-center', fastQuery:true, fastQueryType:'lk'},                {id: 'totalMoney', title: '总计', type: 'string', columnClass: 'text-center', fastQuery:true, fastQueryType:'lk'},                {id: 'originalNewRegister', title: '正价新签', type: 'string', columnClass: 'text-center', fastQuery:true, fastQueryType:'lk', colspan:'3', coltitle:'订单数'},                {id: 'originalRenewalRegister', title: '正价续费', type: 'string', columnClass: 'text-center', fastQuery:true, fastQueryType:'lk'},                {id: 'specialRegister', title: '特价', type: 'string', columnClass: 'text-center', fastQuery:true, fastQueryType:'lk'},                {id: 'studentCount', title: '在读人数', type: 'string', columnClass: 'text-center', fastQuery:true, fastQueryType:'eq',rowspan:'2'},                {id: 'personTimeCount', title: '在读人次', type: 'string', columnClass: 'text-center', fastQuery:true, fastQueryType:'eq',rowspan:'2'},                {id: 'originalCarryoverHour', title: '正价已结转', type: 'string', columnClass: 'text-center', fastQuery:true, fastQueryType:'lk', colspan:'2', coltitle:'小时数'},                {id: 'specialCarryoverHour', title: '特价已结转', type: 'string', columnClass: 'text-center', fastQuery:true, fastQueryType:'lk'},                {id: 'confirmIncome', title: '确认金额', type: 'string', columnClass: 'text-center', fastQuery:true, fastQueryType:'lk', colspan:'2', coltitle:'结转金额'},                {id: 'fcMoney', title: '实际结转', type: 'string', columnClass: 'text-center', fastQuery:true, fastQueryType:'lk'}            ];

效果

2、表格结尾增加合计(总计)行

//定义dtGridOption属性中加入totalCountColByIdtables.dtGridOption = {                    lang: 'zh-cn',                    ajaxLoad: true,                    check: false,                    loadURL: ctx + '',                    exportFileName: '在册人数以及库存课时统计',                    columns: tables.dtGridColumns,                    gridContainer: 'tb_main_body',                    toolbarContainer: 'tb_main_tool',                    tools: 'refresh|faseQuery|export[excel,pdf,]|print',                    totalCountColById:['xx','xx'], // 总计id字段                    pageSize: 10,                    pageSizeLimit: [10, 20, 50, 100, 500]                };

3、全部导出配置

①在初始化参数中配置

grid.diyparameters = { //参数

               "exportOfQueryFlag" : "exportClassReadingRepay" // 值为后台给定值
 }; 

②在search搜索方法中加入参数

search: function () {

                grid.diyparameters = new Object();                      
                grid.diyparameters.exportOfQueryFlag = "exportClassReadingRepay"; //导出全部hash 值                
                grid.refresh(true);
  }

 

4、dtGrid跳转到指定页数

因为没找到有参数传递,然后看到js文件中写死的,所以做一点改变

找到jquery.dtGrid.js文件,在它的load方法中修改,记得给方法加上pageType参数

修改前:dtGridReflectionObj.pager.nowPage = 1;修改后:dtGridReflectionObj.pager.nowPage = pageType ? pageType : 1;

然后在调用load的时候传入参数就行,亲测有效。

5、dtGrid表格左侧固定

      增加下列属性到dtGridOption中即可

tables.dtGridOption = {            lang:'zh-cn',            freezecol: 6,            freezerow:''}

6、动态表头与动态内容

有时表头与内容不是指定的,需要另外请求:

//初始化表格数据    initTable: function (datas, columns, tbbody, tbtool, type) { // datas表格数据,columns表头列,tbbody、tbtool表格容器    	    	datas.exhibitDatas.forEach(function (v, i) {    		var item = v.moneyMap;    		for (var j in item) {    			for (var k in item[j]) {    				// console.log(item[j][k])    				v[j+k] = item[j][k]; // 转换 将moneyMap中的数据放入到exhibitDatas中,适应dtGrid表格要求    			}    		}    	});    	console.log(datas)    	var tables = {};      var that = this;      //定义表格列属性      tables.dtGridColumns = columns;      //定义表格      tables.dtGridOption = {        lang: 'zh-cn',        ajaxLoad: false, // 不使用ajaxLoad请求             exportFileName: '房租月摊销金额计算表',        datas: datas.exhibitDatas, // 当ajaxLoad为false时有效,表格内容数据        columns: tables.dtGridColumns, // 表头,json数组        gridContainer: tbbody,        toolbarContainer: tbtool,        tools: 'refresh|faseQuery|export[excel]|print',        pageSize: 10,        // totalCount: true,        // pageSizeLimit: [10, 20, 50],        onGridComplete: function () { // 表格加载完成后函数        }      };      prcGrid = $.fn.DtGrid.init(tables.dtGridOption);      prcGrid.diyparameters = { // 参数    		  "monthStamp": $("#beginMonth").val().replace(/-/g,''), // 年月    			"queryContractType": "prc" // 标识   		        };      $("#" + tbbody).empty(); // 先清空内容      $("#" + tbtool).empty(); // 先清空内容      prcGrid.load();    },
requestFun: function (data, type) { // 处理数据且渲染表头方法             	 var that = this;                         	 var arr = [{id: '', title: '教学区', type: 'string', columnClass: 'text-center', fastQuery: true, fastQueryType: 'eq', rowspan: '2'}]; // 存放渲染表格表头            	 var datas = []; // 存放对应字段名            	 	data.forEach(function (v, i) {            	 		if (v.typeCode) { // 如果不为空            	 			var list = v.itemList;            	 		            	 			if (list.length > 1) { // 需合并列大于1            	 				list.forEach(function (val, index) {		        	 						if (index == 0) {		            	 					var obj = {id: val.itemCode, title: val.itemName, type: 'string',columnClass: 'text-center', fastQuery: true, fastQueryType: 'lk', colspan: list.length, coltitle: v.typeName};		            	 				} else {		            	 					var obj = {id: val.itemCode, title: val.itemName, type: 'string',columnClass: 'text-center', fastQuery: true, fastQueryType: 'lk'};		            	 				}		        	 						arr.push(obj);		                	 		datas.push(val.itemCode);            	 				});	        	 				} else { //	        	 					var obj = {id: list[0].itemCode, title: list[0].itemName, type: 'string',columnClass: 'text-center', fastQuery: true, fastQueryType: 'eq', rowspan: '2'};	        	 					arr.push(obj);	            	 			datas.push(list[0].itemCode);	        	 				}            	 		} else {            	 			// return showAlertInfo("error","返回数据有问题,请稍候联系后台管理员!");            	 			var list = v.itemList;            	 			list.forEach(function (val, index) {            	 				var obj = {id: val.itemCode, title: val.itemName, type: 'string',columnClass: 'text-center', fastQuery: true, fastQueryType: 'eq', rowspan: '2'};            	 				 arr.push(obj);            	 				 datas.push(val.itemCode);            	 			})            	 		}            	 	})								// arr.push({id: '', title: '操作', type: 'string', columnClass: 'text-center', fastQuery: true, fastQueryType: 'eq', rowspan: '2'}); // 默认插入操作列 		            that.headerData = arr; // 存放处理后的表头数据		            that.contentData = datas;								that.tableHeaderAddFun(datas); // 新增模块表头渲染方法,datas为新增模块内容								             },

 

 

 

 

 

 

 

 

 

转载于:https://my.oschina.net/lpcysz/blog/1919529

你可能感兴趣的文章
《锋利的SQL(第2版)》——1.7 常用函数
查看>>
《Arduino家居安全系统构建实战》——1.5 介绍用于机器学习的F
查看>>
jquery中hover()的用法。简单粗暴
查看>>
线程管理(六)等待线程的终结
查看>>
spring boot集成mongodb最简单版
查看>>
DELL EqualLogic PS存储数据恢复全过程整理
查看>>
《Node.js入门经典》一2.3 安装模块
查看>>
《Java 开发从入门到精通》—— 2.5 技术解惑
查看>>
Linux 性能诊断 perf使用指南
查看>>
实操分享:看看小白我如何第一次搭建阿里云windows服务器(Tomcat+Mysql)
查看>>
Sphinx 配置文件说明
查看>>
数据结构实践——顺序表应用
查看>>
python2.7 之centos7 安装 pip, Scrapy
查看>>
机智云开源框架初始化顺序
查看>>
Spark修炼之道(进阶篇)——Spark入门到精通:第五节 Spark编程模型(二)
查看>>
一线架构师实践指南:云时代下双活零切换的七大关键点
查看>>
ART世界探险(19) - 优化编译器的编译流程
查看>>
玩转Edas应用部署
查看>>
music-音符与常用记号
查看>>
sql操作命令
查看>>