RapidClipse: Как изменить стиль строки XDevTable / XdevGrid на основе содержимого ячейки - PullRequest
0 голосов
/ 16 октября 2019

Я использую RapidClipse 4. В представлении я создал таблицу кросс-таблиц (XdevGrid) со строками сгруппированных сумм. Всего было построено внутри sql-кода.

RowNo |Подробно |Месяц 1 ... Месяц п |общая |1 |A |0,5 |1 |3 | ... |4.5 |2 |A |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 в мой проект quickclipse, но также безуспешно. Из этого мои вопросы:У кого-нибудь есть опыт работы с XdevTable / XdevGrid и таким требованием? Это все еще возможно? Может ли кто-нибудь дать мне грубый пример?

Заранее спасибоRgds OpaHeinz

...