个性化阅读
专注于IT技术分析

RichFaces rich:dataTable组件

本文概述

此组件用于呈现表。它以表格形式显示数据。它与<rich:column>和<rich:columnGroup>组件一起使用, 以列出数据模型的内容。

value属性用于保存数据模型, 而var属性指定在遍历数据模型时使用的变量。

dataTable需要一组<rich:column>组件来定义内容。

样式类和皮肤参数

下表包含DataTable的Style类和相应的外观参数。

Class Function 皮肤参数 映射的CSS属性
.rf-dt 它用于定义表格的样式。 tableBackgroundColor tableBorderWidth 背景颜色border-left-width, border-top-width
.rf-dt-cap 它用于定义表格标题的样式。 没有皮肤参数。
.rf-dt-r 它用于定义表格行的样式。 没有皮肤参数。
.rf-dt-fst-r 它用于定义表中第一行的样式。 没有皮肤参数。
.rf-dt-c 它用于定义表格单元格的样式。 tableBackgroundColor tableBorderWidth 背景颜色border-bottom-width, border-right-width
.rf-dt-nd 它用于定义节点的样式。 tableBorderColor 边框底色, 边框右色
.rf-dt-hdr 它用于定义表头的样式。 没有皮肤参数。
.rf-dt-hdr-fst 用于定义第一个标题的样式。 没有皮肤参数。
.rf-dt-hdr-c 它用于定义标题单元格的样式。 tableHeaderBackgroundColor tableBorderWidth 背景颜色border-bottom-width, border-right-width
.rf-dt-shdr 它用于定义表子标题的样式。 没有皮肤参数。
.rf-dt-shdr-fst 它用于定义第一个子标题的样式。 没有皮肤参数。
.rf-dt-shdr-c 它用于定义子标题单元格的样式。 tableHeaderBackgroundColor background-color
.rf-dt-ftr 它用于定义表格页脚的样式。 没有皮肤参数。
.rf-dt-ftr-fst 用于定义第一个页脚的样式。 没有皮肤参数。

例子

在下面的示例中, 我们正在实现<rich:dataTable>组件。本示例包含以下文件。

JSF文件

// data-table.xhtml

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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">
<f:view>
<h:head>
<title>Rich Data Table</title>
</h:head>
<h:body>
<h:form>
<rich:dataTable value="#{studentRecord.records}" var="record" rows="4">
<f:facet name="header">
<h:outputText value="Student Records" />
</f:facet>
<rich:column>
<f:facet name="header">Student ID</f:facet>
<h:outputText value="#{record.id}"/>
</rich:column>
<rich:column>
<f:facet name="header">Student Name</f:facet>
<h:outputText value="#{record.name}"/>
</rich:column>
<rich:column >
<f:facet name="header">Student Email</f:facet>
<h:outputText value="#{record.email}"/>
</rich:column>
<rich:column>
<f:facet name="header">Student Contact</f:facet>
<h:outputText value="#{record.contactNumber}"/>
</rich:column>
</rich:dataTable>
</h:form>
</h:body>
</f:view>
</ui:composition>

托管豆

// StudentRecord.java

import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
@ManagedBean
@RequestScoped
public class StudentRecord {
String id;
String name;
String email;
String contactNumber;
List<StudentRecord> records;
public StudentRecord(){}
public StudentRecord(String id, String name, String email, String contactNumber) {
this.id = id;
this.name = name;
this.email = email;
this.contactNumber = contactNumber;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getContactNumber() {
return contactNumber;
}
public void setContactNumber(String contactNumber) {
this.contactNumber = contactNumber;
}
public List<StudentRecord> getRecords() {
records = new ArrayList<StudentRecord>();
records.add(new StudentRecord("101", "Raju", "raju@abc.com", "52534252"));
records.add(new StudentRecord("102", "Rama", "rama@abc.com", "52235252"));
records.add(new StudentRecord("103", "John", "john@abc.com", "52456252"));
records.add(new StudentRecord("104", "Peter", "peter@abc.com", "55625252"));
return records;
}
public void setRecords(List<StudentRecord> records) {
this.records = records;
}
public int getNumberOfRecords(){
return this.records.size();
}
}

输出

RichFaces数据表1

赞(0) 打赏
未经允许不得转载:srcmini » RichFaces rich:dataTable组件
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏