[ECSide] FAQ:如何对单元格样式的个性设置:
fins
2007-05-25
对单元格样式的个性设置:
<ec:table items="userList" var="rowBean" ...> ..... <ec:column style=".." styleClass="...." .../> 这两个属性相当于 html里的 style和 class ==================================== 他们支持 jsp脚本 例如 <% String cellColor="red" %> .... <ec:column style="color:<%=cellColor %>" ../> ==================================== 他们支持"公式语言语法" 例如 <ec:column style="color:${rowBean.cellColor}" ../> 其中 cellColor 为 rowBean的一个属性(如果rowBean为vo的话)或一个key(如果rowBean为map的话) ==================================== style还支持动态脚本语言 (styleClass不支持) 例如 <ec:column style="#_EX:VAR.USERID>5 && VAR.USERID<15?'color:red':'' " /> 其中 VAR是关键字 代表 rowBean 利用以上信息,完全可以控制任意一个单元格的颜色 情景一: 整个列的颜色都变, 那么只要 style="background-color:red" 就可以了 情景二 一列中,根据条件不同,颜色不同,且条件比较简单. 使用脚本语言最合适了 情景三 一列中,根据条件不同,颜色不同,且条件比较复杂. 在准备列表数据的时候 例如查询客户信息的时候, 就把记录的颜色信息查询出来,作为一个属性放到 vo或map里 例如 根据复杂条件来决定用户名的显示颜色. 那么可以给 vo或map加上一个关于颜色的属性,例如 nameColor,然后在准备数据的时候就对nameColor进行赋值. 然后使用 <ec:column style="color:${rowBean.nameColor}" ../> 或者 <ec:column styleClass="${rowBean.nameColor}" ../> 还有一个方法 写一个计算 颜色的工具类,例如 StyleUtil.getNameColor(Object rowBean) ,该类以每条记录对应的vo或map为参数,返回颜色信息 <ec:column style="color:<%= StyleUtil.getNameColor(pageContext.findAttribute("rowBean")) %>" ../> 这样也很好, 当然效率直接取决于条件的复杂性 以及 StyleUtil.getNameColor的写法了 以上是目前可行的 对单元格进行定制的方法,不知道能否满足大多数的需求. 如果不可以,麻烦您跟我讲讲您的想法和建议 谢谢 |
相关讨论
相关资源推荐
- Office Live Workspace 初体验
- 通过Office Live Workspace有效地使用MS Office文档
- 微软Office Live Workspace最近的一些新Features
- 微软Office Live Workspace测试版开放全球注册
- Office Live Workspace让协同办公无处不在
- 微软office 2007在线编辑平台Office Live Workspace(docx转doc格式)
- Office Live Workspace 初体验[转]
- 微软件发布「Office Live Workspace」为对抗Google Docs
- 微软Office Live Workplace用户过百万
- 微软正式关闭Office Live小企业服务