Layui表格一个单元格显示多条数据

我们平时做一个项目的时候,数据表格是很重要的,它记录着实际应用的业务数据等,一般比较简单的表格都是一条数据中有多个信息,而每个信息所对应的要么是单一数据,要么是通过计算得出,而有时候我们也会遇上比较棘手的问题。
在数据库中存放的一条数据的某一项信息有多个数据,但在页面数据表格中显示却是一条数据。就比如说商品的属性,商品属性可以是一个属性,也可以是多个,对于一个属性来说就按照平时查询思路就可以解决,但是多个属性显示在一格内就需要对其进行处理了。
我通过一个例子来进行演示。
《Layui表格一个单元格显示多条数据》
这是一个商品的三种属性,第一眼感觉可以创建三个表,但其实在另一个模块中它们就是一张表的数据,一个表存放是什么属性,一个表存放所有属性的值,通过属性明细表进行连接,同时一个商品时多个属性,那么可以在属性明细表内加一个商品ID进行查询。
《Layui表格一个单元格显示多条数据》
如果按照以前的思路进行查询,那么显示页面所查询的结果就会出现很多重复数据,而且每条数据所显示的属性都只有一个,但如果将重复数据的属性拼接在一起那么就是我们想要点结果,那么怎么进行拼接呢?这时候就要用到foreach循环了。
《Layui表格一个单元格显示多条数据》
循环之前我们需要将数据处理一下,之前是一起查询,那么我现在不一起查询,我分开查询。创建一个实体类将商品信息所需信息和属性信息都放在这一个实体类里面,连表查询出跟商品关联的其它数据,先不给属性字段赋值,返回赋值给一个创建的listCommodity列表,然后再将属性单独使用一个查询,我们需要它的属性值,先查询出属性的属性值,然后需要查询出在属性明细内的商品ID,将返回值赋值给一个创建的listAttr列表。
《Layui表格一个单元格显示多条数据》
《Layui表格一个单元格显示多条数据》
现在查询出的结果一个是不带属性的商品数据,一个是只有属性的数据,之前查询表结果就需要将几条相同数据的那一个字段拼接在一起再赋值给属性字段即可,那么我们这里就可以使用foreach循环将字段查询出来进行拼接。
《Layui表格一个单元格显示多条数据》
首先创建一个同类型的一个列表,用来做最后返回数据作用,然后先要循环商品列表,再在商品循环内循环属性列表,因为通过两个列表共有的商品ID进行获取相同数据,而我们需要找的是属性表内的相同数据然后找到每条数据的属性进行拼接,那么就先循环商品列表,第一次循环商品ID为1。
创建一个空的string类型变量(作为外层循环的局部变量,内层循环的全局变量,当外层执行一次就可以实现清空该字段),用来存放拼接字段,内存循环属性判断属性列表的每一条数据与当前外层循环的商品ID是否相同,相同则内层每次循环找到每条数据的属性值然后拼接到创建的string类型的变量内。
当内层循环找不到与外层当前循环的商品ID相同数据时结束,将拼接完的结果赋值给商品列表的属性字段,再将完整的商品列表添加到事先创建的同类型列表内。
《Layui表格一个单元格显示多条数据》
当外层循环结束,创建的列表内的结果就是我们需要的效果。
《Layui表格一个单元格显示多条数据》

    原文作者:赤哲~
    原文地址: https://blog.csdn.net/weixin_44540247/article/details/96150773
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞