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: 吉紡纖維有限公司, 公司名: 公司名稱為: 吉紡纖維有限公司}

results matching ""

    No results matching ""