Объединить заголовок столбца в DataGrid или cellTable в GWT 2.4

Я хочу знать обходной путь, используемый для colspan в DataGrid или CellTable

Я видел витрину GWT: http://samples.gwtproject.org/samples/Showcase/Showcase.html

но в GWT 2.4 нет TableRowBuilder и AbstractHeaderOrFooterBuilder

Я также обнаружил, что CellTableBuilder API тоже хорош для этой цели, но он не доступен в GWT 2.4

Итак, я хочу знать, есть ли еще одна хитрость для объединения заголовков столбцов в GWT 2.4?

Или как получить заголовок столбца с помощью DOM?

1 ответ

Решение

Вот что я сделал, чтобы решить эту проблему в GWT 2.4.

Я использовал DOM, как это

Element thead = view.datagrid.getElement().getElementsByTagName("thead").getItem(0);
    Element tr;
        tr = thead.getElementsByTagName("tr").getItem(0);
    for (int i = 0; i < tr.getChildCount(); i++) {
        Element th = tr.getElementsByTagName("TH").getItem(i);
        String headerText = th.getInnerHTML();
        String sortHeader = "";
        String colspanValue = th.getAttribute("colspan");
        if (th.getChildCount() == 1) {
            Element div = th.getElementsByTagName("DIV").getItem(0);
            sortHeader = null != div ? div.getElementsByTagName("DIV").getItem(1).getInnerHTML()
                    : "";
        }
        if (sortHeader.equalsIgnoreCase("COLUMHEADER1") && colspanValue.equals("1")) {
            th.setAttribute("colspan", "2");
            Element thNext = tr.getElementsByTagName("TH").getItem(i + 1);
            thNext.setAttribute("style", "display: none !important");
        }

}

и для первого запуска я использовал таймер (1 сек, мин), как это

 new Timer() {
        @Override
        public void run() {
            view.datagrid.setVisible(true);
            //call to merge column code or function
        }
    }.schedule(1000);

"Посмотреть." используется, потому что основной класс является ведущим

EDIT: display: none используется для сортировки

Другие вопросы по тегам