JSF中的columnClasses和rowClasses样式类
来源:互联网 发布:淘宝卖虚拟赚钱吗 编辑:程序博客网 时间:2024/05/29 18:44
JSF的标准HTML标签中(Standard HTML Tags)有h:panelGrid、h:dataTable,即实现HTML中的table标签功能。
h:panelGrid、h:dataTable都有两个特殊的CSS样式属性,columnClasses(列样式类)和rowClasses(行样式类),它们不单单是加载一个CSS样式,而是加载一个CSS样式类,并且循环这个样式类,从而丰富了并简化了表格的表现。
例如要做一个3行6列的表格,定义有两个样式
.td1 { background:#cccccc; }
.td2 { background:#990000; }
.td2 { background:#990000; }
那我们在写JSF的时候只需要在h:panelGrid中加入columnClasses列(或rowClasses行)属性,其中是CSS类的列表,类之间用逗号分隔。如果这些列表包含的类名要比列或行少,则重新使用CSS类,即再次循环列表中的CSS样式。
<h:panelGrid columns="6" columnClasses="td1,td1,td2">
<h:outputText value="01"/>
<h:outputText value="02"/>
<h:outputText value="03"/>
<h:outputText value="04"/>
<h:outputText value="05"/>
<h:outputText value="06"/>
<h:outputText value="07"/>
<h:outputText value="08"/>
<h:outputText value="09"/>
<h:outputText value="10"/>
<h:outputText value="11"/>
<h:outputText value="12"/>
<h:outputText value="13"/>
<h:outputText value="14"/>
<h:outputText value="15"/>
<h:outputText value="16"/>
<h:outputText value="17"/>
<h:outputText value="18"/>
</h:panelGrid>
<h:outputText value="01"/>
<h:outputText value="02"/>
<h:outputText value="03"/>
<h:outputText value="04"/>
<h:outputText value="05"/>
<h:outputText value="06"/>
<h:outputText value="07"/>
<h:outputText value="08"/>
<h:outputText value="09"/>
<h:outputText value="10"/>
<h:outputText value="11"/>
<h:outputText value="12"/>
<h:outputText value="13"/>
<h:outputText value="14"/>
<h:outputText value="15"/>
<h:outputText value="16"/>
<h:outputText value="17"/>
<h:outputText value="18"/>
</h:panelGrid>
如果是用的如下rowClasses行属性
<h:panelGrid columns="6" rowClasses="td1,td2">
则表格表现为
当列和行两个属性都使用时,则样式服从于列样式,例如
<h:panelGrid columns="6" columnClasses="td1,td1,td2" rowClasses="td1,td2">
则表格表现和单独使用columnClasses列样式相同。
原文 http://www.java3z.com/cwbwebhome/article/article2a/220.html?id=125
在JSF DataTable使用中的一些心得:
1. 要有分页功能,每页资料最好不要超过20行
2. 尽量避免在rowClasses和columnClasses中写复杂的CSS
3. 对于资料查询型的页面,最好不要用JavaScript遍历所有控件,因为有时控件的数量会令你吃惊的。
为了让rich:dataTable显示的表格更美观,比如行的背景色的间隔显示,以及鼠标划过行的高亮显示,可以使用如下的技术:
在美化时需要设置rich:dataTable的rowclass属性和styleclass属性。rowclass属性用于设置行的样式,设置的2个样式类名中间用逗号分隔。styleclass属性用于jquery的选RichFacas专题择器。
在鼠标划过的动作上,使用jquery,当鼠标划过、移出时添加和移出相应的样式类例如:
<rich:jQuery selector=".stable tr:odd" query="addClass('odd-row')" />
<rich:jQuery selector=".stable tr:even" query="addClass('even-row')" />
<rich:jQuery selector=".stable tr" event="mouseover"
query="jQuery(this).addClass('active-row')"/>
<rich:jQuery selector=".stable tr" event="mouseout"
query="jQuery(this).removeClass('active-row')"/>
显示效果见:http://www.richfacescn.com/richfaces-showcase/richfaces/component-sample.jsf?demo=dataTable&sample=tableStyling
<
ui:composition
xmlns
=
"http://www.w3.org/1999/xhtml"
xmlns:h
=
"http://java.sun.com/jsf/html"
xmlns:f
=
"http://java.sun.com/jsf/core"
xmlns:ui
=
"http://java.sun.com/jsf/facelets"
xmlns:a4j
=
"http://richfaces.org/a4j"
xmlns:rich
=
"http://richfaces.org/rich"
>
<
style
>
.even-row {
background-color: #FCFFFE;
}
.odd-row {
background-color: #ECF3FE;
}
.active-row {
background-color: #FFEBDA !important;
cursor: pointer;
}
</
style
>
<
h:form
id
=
"form"
>
<
rich:dataTable
value
=
"#{carsBean.allInventoryItems}"
var
=
"car"
id
=
"table"
rows
=
"20"
rowClasses
=
"odd-row, even-row"
styleClass
=
"stable"
>
<
rich:column
accept
=
"#{carsFiteringBean.acceptVendor}"
>
<
f:facet
name
=
"header"
>
<
h:outputText
value
=
"Vendor "
/>
</
f:facet
>
<
h:outputText
value
=
"#{car.vendor}"
/>
</
rich:column
>
<
rich:column
>
<
f:facet
name
=
"header"
>
<
h:outputText
value
=
"Model"
/>
</
f:facet
>
<
h:outputText
value
=
"#{car.model}"
/>
</
rich:column
>
<
rich:column
>
<
f:facet
name
=
"header"
>
<
h:outputText
value
=
"Price"
/>
</
f:facet
>
<
h:outputText
value
=
"#{car.price}"
/>
</
rich:column
>
<
rich:column
filter
=
"#{carsFilteringBean.mileageFilterImpl}"
>
<
f:facet
name
=
"header"
>
<
h:outputText
value
=
"Mileage"
/>
</
f:facet
>
<
h:outputText
value
=
"#{car.mileage}"
/>
</
rich:column
>
<
rich:column
>
<
f:facet
name
=
"header"
>
<
h:outputText
value
=
"VIN "
/>
</
f:facet
>
<
h:outputText
value
=
"#{car.vin}"
/>
</
rich:column
>
</
rich:dataTable
>
</
h:form
>
<
rich:jQuery
selector
=
".stable tr:odd"
query
=
"addClass('odd-row')"
/>
<
rich:jQuery
selector
=
".stable tr:even"
query
=
"addClass('even-row')"
/>
<
rich:jQuery
selector
=
".stable tr"
event
=
"mouseover"
query
=
"jQuery(this).addClass('active-row')"
/>
<
rich:jQuery
selector
=
".stable tr"
event
=
"mouseout"
query
=
"jQuery(this).removeClass('active-row')"
/>
</
ui:composition
>
http://www.richfacescn.com/topic_detail.html?id=167
- JSF中的columnClasses和rowClasses样式类
- JSF样式
- jsf中的 国际化,验证和转换
- jsf 中的datatable 和 dataScroller 用法
- JSF中的转换器和验证器
- angularJs中的CSS类和样式
- JSF中dataTable自定义样式
- Css样式表中的#和.
- android中的样式和主题
- android中的样式和主题
- boolean的getter 和setter在JSF中的问题
- FCKeditor在 JSP和JSF 网站项目中的应用
- JSF中的FacesContext对象和ExternalContext对象详解
- JSF中的FacesContext对象和ExternalContext对象详解
- JSF中的FacesContext对象和ExternalContext对象详解
- CSS样式中的通用选择器和伪类选择器
- JSF中的设计模式
- JSF中的导航处理
- Linux 中使用 KVM
- packets
- C++内存管理学习笔记(1)
- linux运行级别
- 突然感觉很孤独
- JSF中的columnClasses和rowClasses样式类
- poj 2318 TOYS(计算几何)
- 正则表达式:数值及数值型字符串三位一组格式化
- Android组件之使用ScrollView实现屏幕滚动【防止屏幕不够用】
- extjs form image box 布局
- 单片机上FLASH、EEPROM、RAM区别
- C# WinForm开发系列 - DataGridView
- ceph主要数据结构解析2-Rados.h文件
- 【研究生版】《漫漫邮子路(五)--我的研究生之路--吕林输》