JSF标签之数据表h:dataTable
以下代码可以在我的资源中下载
JavaServer Faces核心编程(第3版)源码
@ManagedBean
@SessionScoped
public class TableData {private static final Name[] names = new Name[] {new Name("William", "Dupont"),new Name("Anna", "Keeney"),new Name("Mariko", "Randor"),new Name("John", "Wilson")};public Name[] getNames() { return names;}
}
public class Name {private String first;private String last;public Name(String first, String last) {this.first = first;this.last = last;}public void setFirst(String newValue) { first = newValue; }public String getFirst() { return first; }public void setLast(String newValue) { last = newValue; }public String getLast() { return last; }
}
<h:body>#{msgs.pageTitle}<h:form><h:dataTable value="#{tableData.names}" var="name"><h:column>#{name.last},</h:column><h:column>#{name.first}</h:column></h:dataTable></h:form>
</h:body>
value对象表示h:dataTable迭代的数据,数据必须是下列类型之一:
- java对象
- 数组
- java.util.List实例
- java.sql.ResultSet实例
- javax.servlet.jsp.jstl.sql.Result实例
- javax.faces.model.DataModel实例
h:dataTable特性
- bgcolor 表的背景色
- border 边框宽度
- cellspacing 表格单元格之间的间距
- cellpadding表格单元格周围的边距
- columnClasses用于列,逗号分隔的css类列表
- dir未继承方向的文本的文本方向,有效值,左到右LTR,右到左RTL
- first表示显示的第一行的索引
- footerClass表尾的CSS类
- frame表周围框架边的说明,有效值:none、above、below、hsides、vsides、lhs、rhs、box、border
- headClass表头的CSS类
- rowClasses行的CSS类列表,由逗号分隔
- rows表中显示的行数,以first特性指定的行开始,如果设置为0,将显示所有行
- rules单元格间绘制的线的说明,有效值:groups、rows、columns、all
- var由数据表创建的变量的名称,表示Value中的当前项
- binding、id、rendered、styleClass、value基本特性
- lang、style、title、width html4
- onclick、ondbclick、onkeydown、onkeypress、onkeyup、onmousedown、onmousemove、onmouseout、onmouseover、onmouseup dhtml事件
<h:form><h:dataTable value="#{tableData.names}" var="name"captionStyle="font-size: 0.95em; font-style:italic"style="width: 250px;"><f:facet name="caption">An Array of Names</f:facet><h:column headerClass="columnHeader" footerClass="columnFooter"><f:facet name="header">#{msgs.lastnameColumn}</f:facet>#{name.last},<f:facet name="footer">#{msgs.alphanumeric}</f:facet></h:column><h:column headerClass="columnHeader" footerClass="columnFooter"><f:facet name="header">#{msgs.firstnameColumn}</f:facet>#{name.first}<f:facet name="footer">#{msgs.alphanumeric}</f:facet></h:column></h:dataTable></h:form>
.columnHeader {font-style: normal;
}
.columnFooter {font-size: 0.75em;
}
windowTitle=Headers, Footers, and Captions
lastnameColumn=Last Name
firstnameColumn=First Name
editColumn=Edit
alphanumeric=[alpha]
表中使用JSF组件
numberHeader=Number
textfieldHeader=Textfields
buttonHeader=Buttons
checkboxHeader=Checkboxes
linkHeader=Links
menuHeader=Menu
graphicHeader=Graphics
radioHeader=Radio Buttons
listboxHeader=List Boxes
<h:body style="background: #eee"><h:form><h:dataTable value="#{numberList}" var="number"><h:column><f:facet name="header">#{msgs.numberHeader}</f:facet>#{number}</h:column><h:column><f:facet name="header">#{msgs.textfieldHeader}</f:facet><h:inputText value="#{number}" size="3"/></h:column><h:column><f:facet name="header">#{msgs.buttonHeader}</f:facet><h:commandButton value="#{number}"/></h:column><h:column><f:facet name="header">#{msgs.checkboxHeader}</f:facet><h:selectBooleanCheckbox value="false"/></h:column><h:column><f:facet name="header">#{msgs.linkHeader}</f:facet><h:commandLink>#{number}</h:commandLink></h:column><h:column><f:facet name="header">#{msgs.graphicHeader}</f:facet><h:graphicImage library="images" name="dice#{number}.gif"style="border: 0px"/></h:column><h:column><f:facet name="header">#{msgs.menuHeader}</f:facet><h:selectOneMenu><f:selectItem itemLabel="#{number}" itemValue="#{number}"/></h:selectOneMenu></h:column><h:column><f:facet name="header">#{msgs.radioHeader}</f:facet><h:selectOneRadio layout="lineDirection" value="nextMonth"><f:selectItem itemValue="yes" itemLabel="yes"/><f:selectItem itemValue="no" itemLabel="no"/></h:selectOneRadio></h:column><h:column><f:facet name="header">#{msgs.listboxHeader}</f:facet><h:selectOneListbox size="4"><f:selectItem itemValue="yes" itemLabel="yes"/><f:selectItem itemValue="maybe" itemLabel="maybe"/><f:selectItem itemValue="no" itemLabel="no"/><f:selectItem itemValue="ok" itemLabel="ok"/></h:selectOneListbox></h:column></h:dataTable></h:form>
</h:body>
<managed-bean><managed-bean-name>numberList</managed-bean-name><managed-bean-class>java.util.ArrayList</managed-bean-class><managed-bean-scope>session</managed-bean-scope><list-entries><value>1</value><value>2</value><value>3</value><value>4</value><value>5</value></list-entries></managed-bean>
删除行
<h:head><h:outputStylesheet library="css" name="styles.css"/><title>#{msgs.windowTitle}</title>
</h:head>
<h:body><h:form><h:dataTable value="#{tableData.names}" var="name" styleClass="names"headerClass="namesHeader" columnClasses="last,first"><h:column><f:facet name="header">#{msgs.lastColumnHeader}</f:facet>#{name.last},</h:column><h:column><f:facet name="header">#{msgs.firstColumnHeader}</f:facet>#{name.first}</h:column><h:column><h:commandLink value="Delete"action="#{tableData.deleteRow(name)}"/></h:column></h:dataTable></h:form>
</h:body>
@ManagedBean
@SessionScoped
public class TableData {private ArrayList<Name> names = new ArrayList<Name>(Arrays.asList(new Name("Anna", "Keeney"),new Name("John", "Wilson"),new Name("Mariko", "Randor"),new Name("William", "Dupont")));public ArrayList<Name> getNames() {return names;}public String deleteRow(Name nameToDelete) {names.remove(nameToDelete);return null;}
}
windowTitle=Deleting Table Rows
pageTitle=An array of names:
selectColumnToSort=Select a column to sort
editPrompt=Edit
firstColumnHeader=First Name
lastColumnHeader=Last Name
deleteColumnHeader=Delete
deleteButtonText=Delete selected names
JSF标签之数据表h:dataTable相关推荐
- java jsf table_JSF数据表(h:dataTable)排序数据
JSF中有一个叫作DataTable的控件,可用来渲染和格式化html表格.使用DataTable,我们可以迭代收集或数组数组来显示数据.下面我们来学习如何向DataTable排序数据. 要使用Dat ...
- datatable java排序,JSF数据表(h:dataTable)DataModel排序数据
JSF中有一个叫作DataTable的控件,可用来渲染和格式化html表格.使用DataTable,我们可以迭代收集或数组数组来显示数据.下面我们来学习如何向DataTable使用DataModel排 ...
- 懒惰的JSF Primefaces数据表分页–第1部分
今天,我们将使用带有视图范围的托管bean的惰性列表进行JSF数据表分页. 这些单词/表达式是什么意思? 如今,有几个JSF框架为数据表提供现成的分页,列排序器和其他功能. 今天,我们将使用Prime ...
- SqlServer千万级以上的数据表查询优化方案《冷热数据库分离》的思路
1.是分库而不是分表,分表即需要考虑引入分表算法,又影响后续查询. 2.热数据只占全部数据的一部分,因此每次优先查询热库,以下情况才查询冷库 --a.当查询条件未命中(结果集为空)时,查询冷库. ...
- excel插入行 uipath_【RPA之家UiPath官方教程】Excel和数据表
Excel和数据表 本课程涵盖了针对DataTable类型的最常见的数据处理方法,以及使用Excel文件的特定方法. 受众:RPA开发人员 学习目标 在本课程结束时,您应该能够: 创建,自定义和填充D ...
- datatables mysql_jquery - Datatables - 数据表外的搜索框
jquery - Datatables - 数据表外的搜索框 我正在使用DataTables(datatables.net),我希望我的搜索框在表格之外(例如在我的标题div中). 这可能吗 ? 11 ...
- web.xml.jsf_使用JSF 2.2功能来开发可滚动,可延迟加载的Ajax数据表
web.xml.jsf 这次,我想与您分享我最近从JSF 2.2功能中学到的知识. 为此,我决定创建一个简单的ajax,可滚动,延迟加载的数据表. 请注意, 绝不这是相当大的库如Primefaces ...
- primefaces_懒惰的JSF Primefaces数据表分页–第2部分
primefaces 页面代码非常简单,没有复杂性. 检查" index.xhtml"代码: <!DOCTYPE html PUBLIC "-//W3C//DTD ...
- 使用JSF 2.2功能来开发可滚动,可延迟加载的Ajax数据表
这次,我想与您分享我最近从JSF 2.2功能中学到的知识. 为此,我决定创建一个简单的ajax,可滚动的延迟加载数据表. 请注意, 绝不这是相当大的库如Primefaces , RichFaces的或 ...
最新文章
- hive replace替换多个_详解Mysql数据库中replace与replace into的用法及区别
- Meanshift图像平滑之opencv实现
- 爬虫学习笔记(十九)—— 滑动验证码
- Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation '=
- ASP.NET2.0数据操作之创建数据访问层(3)
- 1155: 零起点学算法62——输出矩阵
- 通过 Ruby 买卖Bitcoin:使用开放交易所OceanOne
- JavaScript中实现类似StringBuilder的功能
- 中国内窥镜干燥存放柜市场趋势报告、技术动态创新及市场预测
- 关于 Swift 单例的例子
- Excel 制作甘特图(多图)
- [转载] MLDN魔乐科技李兴华主讲Oracle——01 Oracle简介
- 解决方案-电子签章:金格科技
- C#界面控件DotNetBar使用详解
- 《微微一笑很倾城》中肖奈大神说的平方根倒数速算法是什么鬼?三十分钟理解!
- c# 十六进制数据转十六进制字符串
- 割裂的前端工程师--- 2017年前端生态窥探 1
- Mac苹果 M1配置cocoapods
- Qt设计的一个图片查看器
- Python爬取京东商品评论数据