开发工具与关键技术:VS + layui
作者:小灰灰
撰写时间:2019.07.23
一、根据条件改变table行颜色
这个功能点在以前的文献中有提及到,其中会有些bug存在,今天来作一个详细的补充说明。首先看效果图,是不是你所需要的功能效果。
如图,根据右上角的医嘱类型,设置行颜色的不同来区分数据。那么我们是如何实现的呢?首先,我们需要根据表格数据中的某一个数据进行条件判断,所以在渲染表格时需要把作为判断的数据加载出来。如上,我根据医嘱类型的ID作为条件,因为我不需要让这个ID出现在页面,在设置表头的时候设置隐藏。
然后在表格渲染完成后的回调函数中,根据条件判断设置行颜色,同时也可以设置一些表头样式等等。
注意,如果一个页面同时出现多个layui表格,回调函数会使其他表格同时发生颜色错乱,需要在HTML代码中的table标签外层的div设置ID,再通过ID选择就不会有错乱情况了。
二、Union并集的使用
使用Union并集有什么作用呢?首先拿数据库的表来简单分析一下。如下,医嘱明细表中的医嘱项目需要同时包括药品表、检查项目表,然后同时查询出来在同一个表格中显示。那么问题就来了,药品表和检查项目表的字段不相同,怎样能够在同一个表格中同时显示呢?这时候就需要用上Union并集解决问题。
下面截图老师的中文演示代码进行分析,方便阅读理解。我们需要同时查询出两张表的数据,在where条件查询中(医嘱项目类型的数据类型为int),根据医嘱项目类型的不同分别让医嘱明细表连接到药品表、检查项目表。然后在下面的赋值中,两个查询的前面的名称保存一致,没有这个字段的就赋值为null。然后直接应用Union的重装方法。