JSF---->表格设置行的颜色
表格中的一条数据很长为了不要看错上下两行,一般为使上下两行的数据背景颜色不一样来区别。在JSF中,如使用的是<t:dataTable>标签来显示数据。有属性rowClasses。对表格中行给予不同的css样式。如果css的样式名字是用逗号隔开的,会把不同的样式根据顺序给不同的行。如果样式少于行数,则样式会一直循环。如果样式多余行数,则多余的样式被忽略。
1、交替显示不同颜色
Style.css
.orders { border: thin solid black; } .ordersHeader { text-align: center; font-style: italic; color: Snow; background: Teal; } .evenColumn { height: 25px; text-align: center; background: MediumTurquoise; } .oddColumn { text-align: center; background: PowderBlue; }
页面
<h:dataTable ... rowClasses="evenColumn,oddColumn" ...>
二、如果想让每两行换一种颜色
(我在text.css 用this.rowIndex%4>1 没成功)
<style type="text/css"> .td1 { background: #e4edf9; } .td2 { background: #e4edf9; } .td3 { background: #FFFFFF } .td4 { background: #FFFFFF; } </style>
属性设置
<t:dataTable ... rowClasses="td1,td2,td3,td4" ... >
3、onmouseover、onmouseout效果
text.css
.ChangeColor { background-color:expression((this.rowIndex%2==0)?"#e4edf9":"#FFFFFF"); ryo:expression(onmouseover=function(){this.style.backgroundColor='#b9d7f9'}, onmouseout=function(){this.style.backgroundColor=(this.style.backgroundColor='#CCFFFF'?((this.rowIndex%2==0)?"#e4edf9":"#FFFFFF"):'#CCFFFF')}, onclick=function(){this.style.backgroundColor='#CCFFFF'}) }
设置属性
<t:dataTable ... rowClasses="ChangeColor" ... >
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律