ComputedColumn
Posted by Bruce Tsai
說明
自定義欄位內容。
範例
DataSource dataSource =
DataSources.unpooledDataSource(url, account, password);
dataSource = DataSources.pooledDataSource(dataSource);
Connection connection = dataSource.getConnection();
PreparedStatement stmt =
connection.prepareStatement("select id, name from Company");
ResultSet resultSet = stmt.executeQuery();
Table table = new Table();
table.fill(resultSet);
System.out.println("** 原始輸出欄位 **");
for (TableColumn column : table.columns()) {
System.out.println(column);
}
System.out.println("** 原始輸出資料 **");
for (TableRow row : table) {
System.out.println(row);
}
// 加入計算欄
table.addColumn(new ComputedColumn<CharSequence>("公司名") {
@Override
public CharSequence compute(TableRow row) {
return String.format("公司名稱為: %s", row.cell("name"));
}
});
System.out.println("** 自訂輸出欄位 **");
for (TableColumn column : table.columns()) {
System.out.println(column);
}
System.out.println("** 自訂輸出資料 **");
for (TableRow row : table) {
System.out.println(row);
}
table.close();
stmt.close();
輸出結果
** 原始輸出欄位 **
TableColumn[ID]
TableColumn[Name]
** 原始輸出資料 **
{ID: 10065309, Name: 鎮遠水電工程有限公司}
{ID: 10066044, Name: 班尼頓一級方程式股份有限公司}
{ID: 10066127, Name: 國立中山大學南區促進產業發展研究中心}
{ID: 10066140, Name: 明惠貿易股份有限公司}
{ID: 10066438, Name: 吉紡纖維有限公司}
** 自訂輸出欄位 **
TableColumn[ID]
TableColumn[Name]
ComputedColumn[公司名]
** 自訂輸出資料 **
{ID: 10065309, Name: 鎮遠水電工程有限公司, 公司名: 公司名稱為: 鎮遠水電工程有限公司}
{ID: 10066044, Name: 班尼頓一級方程式股份有限公司, 公司名: 公司名稱為: 班尼頓一級方程式股份有限公司}
{ID: 10066127, Name: 國立中山大學南區促進產業發展研究中心, 公司名: 公司名稱為: 國立中山大學南區促進產業發展研究中心}
{ID: 10066140, Name: 明惠貿易股份有限公司, 公司名: 公司名稱為: 明惠貿易股份有限公司}
{ID: 10066438, Name: 吉紡纖維有限公司, 公司名: 公司名稱為: 吉紡纖維有限公司}