jeecg框架表格合计解决方案

您所在的位置:网站首页 表格合计应该放在哪里 jeecg框架表格合计解决方案

jeecg框架表格合计解决方案

2024-03-01 01:34| 来源: 网络整理| 查看: 265

首先假设我们有100条数据。 那么合计方案有两种; 第一种情况:直接拿到全部100条数据的 该合计方案,在jeecg的常见案例有实例,可以直接参考 点击常见案例 点击表格合计 解决思路:源码; 表格代码 分页参数 这里是分页参数,规定每页显示10条数据。

下面开始合计: 步骤一:先创建两个变量 变量 在这里插入图片描述

步骤二:全部数据给到newDataSource,然后调用合计方法。 调用合计方法 步骤三:开始合计

dataHandling(num) { this.newArr=[]; let arrLength = this.newDataSource.length; // 数组长度; let index = 0; //因为num是9, //所以我们以9条数据为一组,将数据放入新的数组 for (let i = 0; i < arrLength; i++) { if (i % num === 0 && i !== 0) { this.newArr.push(this.newDataSource.slice(index, i)); index = i; } if ((i + 1) === arrLength) { this.newArr.push(this.newDataSource.slice(index, (i + 1))); } } var arrs=this.newArr; //将已经分为9条一组的数组进行遍历 for (let i =0;i level+=arr[j].level; point+=arr[j].point; } newArr.level=level; newArr.point=point; arrs[i].push(newArr);//把第10条合计的数据放入数组 } //把已经合计好的数据放入数组中 var newDataSource=[]; for (let i =0;i newDataSource.push(arr[j]); } } console.log(this.dataSource) //合计后重新给到dataSource //就得到了每页10条,包含合计的数据 //合计完成啦 this.dataSource = Object.values(newDataSource); console.log(this.dataSource) }

第二种情况: 假如100条数据,一共10页,点击哪一页才拿到该页数据时。 实例

这里的总条数是加上分3页,多了3行合计总数的,所以原数据为23条

实现思路: 1.就是对分页的pagesize(页大小)进行操作 详情一; 2.关键是怎么保证请求为10条,返回为11条,还正常显示呢? 详情见步骤三; 4.合计后分页和总数对不上,导致显示数据错误,怎么办? 详情见步骤六 重点就是保证每次请求数据都是10条,然后让分页,和总数显示正常

开始合计: 步骤一:设计分页参数, 分页参数 在这里插入图片描述

步骤二:先创建两个变量 变量 步骤三:要找到方法this.dataSource取值之前的地方,添加一个判断

敲黑板:这里是重点: 下面有源码 //保证我们每次请求10条,如果不是10条就-1 if(params.pageSize % 10 != 0){ //这里保证每次拿10条数据 params.pageSize = params.pageSize-1; //这里保证每次拿数据,页面显示总数减一 //原因是因为我们请求10条数据,合计后11条, //会导致下一次这里变为11,要将值改回10 this.ipagination.pageSize = this.ipagination.pageSize -1 } 步骤四:this.dataSource取值之后,调用合计方法 调用合计方法 步骤五:思路和上面的合计一样。 只不过这里我把合计字段封装了,后面只要在需要合计的字段下面添加一个total:true就会自动合计 自动计算合计 实例

源代码:

dataHandling(num) { this.newArr = this.newDataSource.slice(0,this.newDataSource.length +1); var arrs = this.newArr; let Array ={}; let columns = this.$data.columns; for(let i=0;i Array[dataindex] = ‘合计’; }else if(columns[i].total){ let total = 0; for(let j=0;j Array[dataindex] = ‘-’; } } arrs.push(Array); //—合计之后每一页会多出一条数据,所以将pageSize + 1,保证数据正常的显示。 this.ipagination.pageSize = this.ipagination.pageSize +1; this.dataSource = Object.values(arrs); },

步骤六:重点:

假如100条数据,每页显示10条,一共10页。 我们加上合计之后每页11条,总数就会变成110条,数据对不上,显示不正常。 因此要让总数和分页显示正常,就要在原来数量的基础上,分多少页面就要加上多少条数据 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3