1

我使用 RapidClipse 4。
在一个视图中,我生成了一个带有分组总和行的交叉表 (XdevGrid)。
总数是在 sql 代码中构建的。

行号 | 详情 | 第 1 个月...第 n 个月 | 总计|
1 | 一个 | 0.5 | 1 | 3 |... | 4.5 |
2 | 一个 | 0.8 | 0.2 | 1 |... | 2.0 |
3 | 总计 | 1.3 | 1.2 | 4 |... | 6.5 |
4 |B ......
5..... aso

我想将包括总计在内的整行的文本样式更改为粗体。
我搜索了很多广告,发现了很多 ;-) 但我的经验不足以适应它。
我假设我可以使用 Vaadin 之外的元素,因为 XdevGrid 基于 Vaadin 7。
为了将数据分配给网格,我使用了以下代码:

final XdevBeanItemContainer<VUmsCrosstbl2> myContainer = new XdevBeanItemContainer<>(VUmsCrosstbl2.class);
myContainer.addAll(new VUmsCrosstbl2DAO().getAllCrossDataforYearKonto2(selJahr, "7,8"));
this.tblUmsCross.setContainerDataSource(myContainer);


我仍然生成了一个计算单元格并将其包含在表格中。

    package com.opaheinz.rc_07.ui;
    import java.util.Formatter;
    import com.opaheinz.rc_07.entities.VUmsCrosstbl2;
    import com.vaadin.ui.Component;
    import com.vaadin.ui.CssLayout;
    import com.vaadin.ui.Table;
    import com.vaadin.ui.Table.ColumnGenerator;
    import com.xdev.ui.entitycomponent.table.XdevTable;

public class MyFormatIndicator implements ColumnGenerator {

    @Override
    public Object generateCell(final Table table, final Object itemId, final Object columnId) {
        final VUmsCrosstbl2 bean = getBean(table, itemId);
        final String myIndicator = "";

        if (bean.getL1GroupName().toLowerCase().startsWith("<b>"))
        {
            myIndicator = "1";
            // For this case, I would like to change the row style
        } else {
            myIndicator = "0";
        }
        return myIndicator;
    }

我使用生成的单元格来验证是否有总数。
我创建了一个特殊的样式条目 v-table-row-total 并将其放在 styles.scss 中:

  .v-grid-row.total> td {
 background-color: blue;
 font-weight: bold;

}

到目前为止,这工作得很好。

但我无法访问行样式并进行设置。
我试图将 vaadin 示例转移到我的 rapidclipse 项目中,但也没有成功。

我的问题是:
有没有人对 XdevTable/XdevGrid 有过这样的要求?
这还有可能吗?
谁能给我一个粗略的例子?

提前谢谢你
rgds OpaHeinz

4

0 回答 0