Example usage for com.google.gwt.view.client SelectionModel isSelected

List of usage examples for com.google.gwt.view.client SelectionModel isSelected

Introduction

In this page you can find the example usage for com.google.gwt.view.client SelectionModel isSelected.

Prototype

boolean isSelected(T object);

Source Link

Document

Check if an object is selected.

Usage

From source file:com.appspot.socialinquirer.client.view.ActivityViewImpl.java

License:Apache License

/**
 * Inits the table columns./*w  w  w  .jav  a2s.com*/
 *
 * @param table the table
 * @param selectionModel the selection model
 */
private void initTableColumns(CellTable<NamedBean> table, final SelectionModel<NamedBean> selectionModel) {
    // Checkbox column. This table will uses a checkbox column for
    // selection.
    // Alternatively, you can call cellTable.setSelectionEnabled(true) to
    // enable
    // mouse selection.
    Column<NamedBean, Boolean> checkColumn = new Column<NamedBean, Boolean>(new CheckboxCell(true, false)) {
        @Override
        public Boolean getValue(NamedBean object) {
            // Get the value from the selection model.
            return selectionModel.isSelected(object);
        }
    };
    table.addColumn(checkColumn, SafeHtmlUtils.fromSafeConstant("<br/>"));

    // Name.
    Column<NamedBean, String> nameColumn = new Column<NamedBean, String>(new ClickableTextCell()) {
        @Override
        public String getValue(NamedBean object) {
            return object.getName();
        }
    };
    table.addColumn(nameColumn, constants.templatesTableColumnName());
    // Headline.
    //       Column<NamedBean, String> tagsColumn = new Column<NamedBean, String>(
    //           new ClickableTextCell()) {
    //         @Override
    //         public String getValue(NamedBean object) {
    //            StringBuilder builder = new StringBuilder();
    //            for (String tag : object.getTags()) {
    //               builder.append(tag).append(" ");
    //            }
    //           return builder.toString();
    //           
    //         }
    //       };
    //       table.addColumn(tagsColumn, constants.templatesTableColumnTags());

    // Description
    Column<NamedBean, SafeHtml> descColumn = new Column<NamedBean, SafeHtml>(new SafeHtmlCell()) {
        @Override
        public SafeHtml getValue(NamedBean object) {
            SafeHtmlBuilder builder = new SafeHtmlBuilder();
            builder.appendHtmlConstant(object.getDescription());
            return builder.toSafeHtml();
        }
    };
    table.addColumn(descColumn, constants.templatesTableColumnSummary());
}

From source file:com.appspot.socialinquirer.client.view.HomeViewImpl.java

License:Apache License

/**
 * Inits the table columns./*from  ww  w . ja  v  a 2  s . c o  m*/
 *
 * @param table the table
 * @param selectionModel the selection model
 */
private void initTableColumns(CellTable<Question> table, final SelectionModel<Question> selectionModel) {
    // Checkbox column. This table will uses a checkbox column for selection.
    // Alternatively, you can call cellTable.setSelectionEnabled(true) to enable
    // mouse selection.
    Column<Question, Boolean> checkColumn = new Column<Question, Boolean>(new CheckboxCell(true, false)) {
        @Override
        public Boolean getValue(Question object) {
            // Get the value from the selection model.
            return selectionModel.isSelected(object);
        }
    };
    table.addColumn(checkColumn, SafeHtmlUtils.fromSafeConstant("<br/>"));

    // Title.
    Column<Question, SafeHtml> titleColumn = new Column<Question, SafeHtml>(new SafeHtmlCell()) {
        @Override
        public SafeHtml getValue(Question object) {
            return SafeHtmlUtils.fromSafeConstant(object.getTitle());
        }
    };
    table.addColumn(titleColumn, constants.templatesTableColumnName());
    // Description.
    Column<Question, SafeHtml> textColumn = new Column<Question, SafeHtml>(new SafeHtmlCell()) {
        @Override
        public SafeHtml getValue(Question object) {
            return SafeHtmlUtils.fromSafeConstant(object.getContent());
        }
    };
    table.addColumn(textColumn, constants.templatesTableColumnSummary());
    // Due Date.
    Column<Question, Date> dueDateColumn = new Column<Question, Date>(new DateCell()) {
        @Override
        public Date getValue(Question object) {
            return object.getPublishedDate();
        }
    };
    table.addColumn(dueDateColumn, constants.templatesTableColumnTags());
}

From source file:com.appspot.socialinquirer.client.view.NetworkViewImpl.java

License:Apache License

/**
 * Inits the table columns./*from  w w  w  . j av  a2  s .  c  o  m*/
 *
 * @param table the table
 * @param selectionModel the selection model
 */
private void initTableColumns(CellTable<User> table, final SelectionModel<User> selectionModel) {
    // Checkbox column. This table will uses a checkbox column for selection.
    // Alternatively, you can call cellTable.setSelectionEnabled(true) to enable
    // mouse selection.
    Column<User, Boolean> checkColumn = new Column<User, Boolean>(new CheckboxCell(true, false)) {
        @Override
        public Boolean getValue(User object) {
            // Get the value from the selection model.
            return selectionModel.isSelected(object);
        }
    };
    table.addColumn(checkColumn, SafeHtmlUtils.fromSafeConstant("<br/>"));

    // Name.
    Column<User, String> nameColumn = new Column<User, String>(new ClickableTextCell()) {
        @Override
        public String getValue(User object) {
            return object.getFullName();
        }
    };
    table.addColumn(nameColumn, constants.connectionsTableColumnName());
    // Headline.
    Column<User, String> headlineColumn = new Column<User, String>(new ClickableTextCell()) {
        @Override
        public String getValue(User object) {
            return String.valueOf(object.getReputation());
        }
    };
    table.addColumn(headlineColumn, constants.connectionsTableColumnReputation());
    // Summary.
    Column<User, String> projectsColumn = new Column<User, String>(new ClickableTextCell()) {
        @Override
        public String getValue(User object) {
            return String.valueOf(object.getAcceptRate());
        }
    };
    table.addColumn(projectsColumn, constants.connectionsTableColumnAcceptRate());
}

From source file:com.appspot.socialinquirer.client.view.PagesViewImpl.java

License:Apache License

/**
 * Inits the table columns./* w  ww  .j av  a 2s  .c  om*/
 *
 * @param table the table
 * @param selectionModel the selection model
 */
private void initTableColumns(CellTable<Page> table, final SelectionModel<Page> selectionModel) {
    // Checkbox column. This table will uses a checkbox column for
    // selection.
    // Alternatively, you can call cellTable.setSelectionEnabled(true) to
    // enable
    // mouse selection.
    Column<Page, Boolean> checkColumn = new Column<Page, Boolean>(new CheckboxCell(true, false)) {
        @Override
        public Boolean getValue(Page object) {
            // Get the value from the selection model.
            return selectionModel.isSelected(object);
        }
    };
    table.addColumn(checkColumn, SafeHtmlUtils.fromSafeConstant("<br/>"));

    // Name.
    Column<Page, String> nameColumn = new Column<Page, String>(new TextCell()) {
        @Override
        public String getValue(Page object) {
            return object.getName();
        }
    };
    table.addColumn(nameColumn, constants.templatesTableColumnName());
    // Headline.
    Column<Page, String> tagsColumn = new Column<Page, String>(new TextCell()) {
        @Override
        public String getValue(Page object) {
            StringBuilder builder = new StringBuilder();
            for (String tag : object.getTags()) {
                builder.append(tag).append(" ");
            }
            return builder.toString();

        }
    };
    table.addColumn(tagsColumn, constants.templatesTableColumnTags());
    // Description
    Column<Page, SafeHtml> descColumn = new Column<Page, SafeHtml>(new SafeHtmlCell()) {
        @Override
        public SafeHtml getValue(Page object) {
            SafeHtmlBuilder builder = new SafeHtmlBuilder();
            builder.appendHtmlConstant(object.getDescription());
            return builder.toSafeHtml();
        }
    };
    table.addColumn(descColumn, constants.templatesTableColumnSummary());
}

From source file:com.appspot.socialinquirer.client.view.QuestionsViewImpl.java

License:Apache License

/**
 * Inits the table columns.//  ww  w  . j av a2s  . c o  m
 *
 * @param table the table
 * @param selectionModel the selection model
 */
private void initTableColumns(CellTable<Question> table, final SelectionModel<Question> selectionModel) {
    // Checkbox column. This table will uses a checkbox column for selection.
    // Alternatively, you can call cellTable.setSelectionEnabled(true) to enable
    // mouse selection.
    Column<Question, Boolean> checkColumn = new Column<Question, Boolean>(new CheckboxCell(true, false)) {
        @Override
        public Boolean getValue(Question object) {
            // Get the value from the selection model.
            return selectionModel.isSelected(object);
        }
    };
    table.addColumn(checkColumn, SafeHtmlUtils.fromSafeConstant("<br/>"));

    // Title.
    Column<Question, SafeHtml> titleColumn = new Column<Question, SafeHtml>(new SafeHtmlCell()) {
        @Override
        public SafeHtml getValue(Question object) {
            return SafeHtmlUtils.fromSafeConstant(object.getTitle());
        }
    };
    table.addColumn(titleColumn, constants.templatesTableColumnName());
    // Description.
    Column<Question, SafeHtml> textColumn = new Column<Question, SafeHtml>(new SafeHtmlCell()) {
        @Override
        public SafeHtml getValue(Question object) {
            return SafeHtmlUtils.fromSafeConstant(object.getContent());
        }
    };
    table.addColumn(textColumn, constants.templatesTableColumnSummary());
    // Status.
    Column<Question, SafeHtml> statusColumn = new Column<Question, SafeHtml>(new SafeHtmlCell()) {
        @Override
        public SafeHtml getValue(Question object) {
            return SafeHtmlUtils.fromSafeConstant(object.getTags().toString());
        }
    };
    table.addColumn(statusColumn, constants.templatesTableColumnTags());
    Column<Question, SafeHtml> authorColumn = new Column<Question, SafeHtml>(new SafeHtmlCell()) {
        @Override
        public SafeHtml getValue(Question object) {
            return SafeHtmlUtils.fromSafeConstant(object.getAuthor());
        }
    };
    table.addColumn(authorColumn, constants.templatesTableColumnAuthor());

    // Due Date.
    Column<Question, Date> dueDateColumn = new Column<Question, Date>(new DateCell()) {
        @Override
        public Date getValue(Question object) {
            return object.getPublishedDate();
        }
    };
    table.addColumn(dueDateColumn, constants.templatesTableColumnPostedDate());
}

From source file:com.appspot.socialinquirer.client.view.QuizViewImpl.java

License:Apache License

/**
 * Inits the table columns./*w  w  w .jav  a  2  s. co  m*/
 *
 * @param table the table
 * @param selectionModel the selection model
 */
private void initTableColumns(CellTable<Answer> table, final SelectionModel<Answer> selectionModel) {
    // Checkbox column. This table will uses a checkbox column for selection.
    // Alternatively, you can call cellTable.setSelectionEnabled(true) to enable
    // mouse selection.
    Column<Answer, Boolean> checkColumn = new Column<Answer, Boolean>(new CheckboxCell(true, false)) {
        @Override
        public Boolean getValue(Answer object) {
            // Get the value from the selection model.
            return selectionModel.isSelected(object);
        }
    };
    table.addColumn(checkColumn, SafeHtmlUtils.fromSafeConstant("<br/>"));

    // Description.
    Column<Answer, SafeHtml> textColumn = new Column<Answer, SafeHtml>(new SafeHtmlCell()) {
        @Override
        public SafeHtml getValue(Answer object) {
            return SafeHtmlUtils.fromSafeConstant(object.getContent());
        }
    };
    table.addColumn(textColumn, constants.templatesTableColumnSummary());
    // Status.
    Column<Answer, SafeHtml> authorColumn = new Column<Answer, SafeHtml>(new SafeHtmlCell()) {
        @Override
        public SafeHtml getValue(Answer object) {
            return SafeHtmlUtils.fromSafeConstant(object.getAuthor());
        }
    };
    table.addColumn(authorColumn, constants.templatesTableColumnAuthor());
    // Due Date.
    Column<Answer, Date> dueDateColumn = new Column<Answer, Date>(new DateCell()) {
        @Override
        public Date getValue(Answer object) {
            return object.getPublishedDate();
        }
    };
    table.addColumn(dueDateColumn, constants.templatesTableColumnPostedDate());
}

From source file:com.bearsoft.gwt.ui.widgets.grid.builders.ThemedCellTableBuilder.java

@Override
public void buildRowImpl(T rowValue, int absRowIndex) {
    // Calculate the row styles.
    SelectionModel<? super T> selectionModel = cellTable.getSelectionModel();
    boolean isSelected = (selectionModel == null || rowValue == null) ? false
            : selectionModel.isSelected(rowValue);
    boolean isOdd = (absRowIndex + 1) % 2 != 0;
    StringBuilder trClasses = new StringBuilder();
    if (isOdd) {//from w  ww.ja va2 s . co m
        if (dynamicOddRowsClassName != null && !dynamicOddRowsClassName.isEmpty())
            trClasses.append(" ").append(dynamicOddRowsClassName);
        else
            trClasses.append(" ").append(ThemedGridResources.instance.cellTableStyle().cellTableOddRow());
    } else {
        if (dynamicEvenRowsClassName != null && !dynamicEvenRowsClassName.isEmpty())
            trClasses.append(" ").append(dynamicEvenRowsClassName);
        else
            trClasses.append(" ").append(ThemedGridResources.instance.cellTableStyle().cellTableEvenRow());
    }
    if (isSelected) {
        trClasses.append(" ").append(ThemedGridResources.instance.cellTableStyle().cellTableSelectedRow());
    }

    // Add custom row styles.
    RowStyles<T> rowStyles = cellTable.getRowStyles();
    if (rowStyles != null) {
        String extraRowStyles = rowStyles.getStyleNames(rowValue, absRowIndex);
        if (extraRowStyles != null) {
            trClasses.append(" ").append(extraRowStyles);
        }
    }

    // Build the row.
    TableRowBuilder tr = startRow();
    tr.className(trClasses.toString());

    // Build the columns.
    int columnCount = cellTable.getColumnCount();
    for (int curColumn = 0; curColumn < columnCount; curColumn++) {
        Column<T, ?> column = cellTable.getColumn(curColumn);
        // Create the cell styles.
        StringBuilder tdClasses = new StringBuilder(
                ThemedGridResources.instance.cellTableStyle().cellTableCell());
        /*
        if(showOddRowsInOtherColor){
           tdClasses.append(" ").append(isOdd ? ThemedGridResources.instance.cellTableStyle().cellTableOddRowCell() : ThemedGridResources.instance.cellTableStyle().cellTableEvenRowCell());
        }
        */
        /*
        if (curColumn == 0) {
        tdClasses.append(" ").append(ThemedGridResources.instance.cellTableStyle().cellTableFirstColumn());
        }
        */
        if (isSelected) {
            tdClasses.append(" ")
                    .append(ThemedGridResources.instance.cellTableStyle().cellTableSelectedRowCell());
        }
        /*
        // The first and last column could be the same column.
        if (curColumn == columnCount - 1) {
        tdClasses.append(" ").append(ThemedGridResources.instance.cellTableStyle().cellTableLastColumn());
        }
        */
        if (dynamicTDClassName != null && !dynamicTDClassName.isEmpty()) {
            tdClasses.append(" ").append(dynamicTDClassName);
        }

        // Add class names specific to the cell.
        Cell.Context context = createCellContext(absRowIndex, curColumn, cellTable.getValueKey(rowValue));
        String cellStyles = column.getCellStyleNames(context, rowValue);
        if (cellStyles != null) {
            tdClasses.append(" ").append(cellStyles);
        }
        // Build the cell.
        HasHorizontalAlignment.HorizontalAlignmentConstant hAlign = column.getHorizontalAlignment();
        HasVerticalAlignment.VerticalAlignmentConstant vAlign = column.getVerticalAlignment();
        TableCellBuilder td = tr.startTD();
        td.className(tdClasses.toString());
        if (hAlign != null) {
            td.align(hAlign.getTextAlignString());
        }
        if (vAlign != null) {
            td.vAlign(vAlign.getVerticalAlignString());
        }
        // Add the inner div.
        DivBuilder div = HtmlBuilderFactory.get().createDivBuilder(); // td.startDiv();
        div.className(dynamicCellClassName);

        // Render the cell into the div.
        renderCell(div, context, column, rowValue);

        // End the cell.
        div.endDiv();

        tdGenerated(td, context);
        td.html(((HtmlElementBuilderBase) div).asSafeHtml());
        td.endTD();
    }

    // End the row.
    tr.endTR();
}

From source file:com.chinarewards.gwt.license.client.user.view.UserSearchWidget.java

private void initTableColumns(final SelectionModel<UserVo> selectionModel) {
    Column<UserVo, Boolean> checkColumn = new Column<UserVo, Boolean>(new CheckboxCell()) {
        @Override/*from www  .j  a v a  2  s  . c o  m*/
        public Boolean getValue(UserVo o) {
            return selectionModel.isSelected(o);
        }
    };
    users = new HashMap<String, UserVo>();
    checkColumn.setFieldUpdater(new FieldUpdater<UserVo, Boolean>() {
        @Override
        public void update(int index, UserVo o, Boolean value) {
            if (value) {
                users.put(o.getId(), o);
            } else {
                users.remove(o.getId());
            }
            selectionModel.setSelected(o, value);
        }
    });
    resultTable.addColumn(checkColumn, "");

    resultTable.addColumn(new TextColumn<UserVo>() {

        @Override
        public String getValue(UserVo o) {
            return o.getName();
        }
    }, "???");

    resultTable.addColumn(new TextColumn<UserVo>() {

        @Override
        public String getValue(UserVo o) {
            return o.getEnterpriseName();
        }
    }, "????");

    resultTable.addColumn(new TextColumn<UserVo>() {

        @Override
        public String getValue(UserVo o) {
            return o.getMobile();
        }
    }, "");

    resultTable.addColumn(new TextColumn<UserVo>() {

        @Override
        public String getValue(UserVo o) {
            return o.getEmail();
        }
    }, "");

    resultTable.addColumn(new TextColumn<UserVo>() {

        @Override
        public String getValue(UserVo o) {
            return o.getCreatedAt() != null ? dateFormat.format(o.getCreatedAt()) : "";
        }
    }, "?");

    resultTable.addColumn(new TextColumn<UserVo>() {

        @Override
        public String getValue(UserVo o) {
            return o.getStatus();
        }
    }, "?");
    resultTable.addColumn(new TextColumn<UserVo>() {

        @Override
        public String getValue(UserVo o) {
            return o.getBalance() + "";
        }
    }, "");

    resultTable.addColumn("?", new HyperLinkCell(), new GetValue<UserVo, String>() {
        @Override
        public String getValue(UserVo userVo) {
            return "";
        }
    }, new FieldUpdater<UserVo, String>() {

        @Override
        public void update(int index, UserVo o, String value) {
            users.put(o.getId(), o);
        }

    });
}

From source file:com.eas.grid.ThemedCellTableBuilder.java

@Override
public void buildRowImpl(T rowValue, int absRowIndex) {
    // Calculate the row styles.
    SelectionModel<? super T> selectionModel = cellTable.getSelectionModel();
    boolean isSelected = (selectionModel == null || rowValue == null) ? false
            : selectionModel.isSelected(rowValue);
    boolean isOdd = (absRowIndex + 1) % 2 != 0;
    StringBuilder trClasses = new StringBuilder();
    if (isOdd) {/*  www.  ja va 2s  .  co  m*/
        if (dynamicOddRowsClassName != null && !dynamicOddRowsClassName.isEmpty())
            trClasses.append(" ").append(dynamicOddRowsClassName);
        else
            trClasses.append(" ").append(ThemedGridResources.instance.cellTableStyle().cellTableOddRow());
    } else {
        if (dynamicEvenRowsClassName != null && !dynamicEvenRowsClassName.isEmpty())
            trClasses.append(" ").append(dynamicEvenRowsClassName);
        else
            trClasses.append(" ").append(ThemedGridResources.instance.cellTableStyle().cellTableEvenRow());
    }
    if (isSelected) {
        trClasses.append(" ").append(ThemedGridResources.instance.cellTableStyle().cellTableSelectedRow());
    }

    // Add custom row styles.
    RowStyles<T> rowStyles = cellTable.getRowStyles();
    if (rowStyles != null) {
        String extraRowStyles = rowStyles.getStyleNames(rowValue, absRowIndex);
        if (extraRowStyles != null) {
            trClasses.append(" ").append(extraRowStyles);
        }
    }

    // Build the row.
    TableRowBuilder tr = startRow();
    if (((GridSection<T>) cellTable).isDraggableRows())
        tr.attribute("draggable", "true");
    tr.className(trClasses.toString());

    // Build the columns.
    int columnCount = cellTable.getColumnCount();
    for (int curColumn = 0; curColumn < columnCount; curColumn++) {
        Column<T, ?> column = cellTable.getColumn(curColumn);
        // Create the cell styles.
        StringBuilder tdClasses = new StringBuilder(
                ThemedGridResources.instance.cellTableStyle().cellTableCell());
        /*
        if(showOddRowsInOtherColor){
           tdClasses.append(" ").append(isOdd ? ThemedGridResources.instance.cellTableStyle().cellTableOddRowCell() : ThemedGridResources.instance.cellTableStyle().cellTableEvenRowCell());
        }
        */
        /*
        if (curColumn == 0) {
        tdClasses.append(" ").append(ThemedGridResources.instance.cellTableStyle().cellTableFirstColumn());
        }
        */
        if (isSelected) {
            tdClasses.append(" ")
                    .append(ThemedGridResources.instance.cellTableStyle().cellTableSelectedRowCell());
        }
        /*
        // The first and last column could be the same column.
        if (curColumn == columnCount - 1) {
        tdClasses.append(" ").append(ThemedGridResources.instance.cellTableStyle().cellTableLastColumn());
        }
        */
        if (dynamicTDClassName != null && !dynamicTDClassName.isEmpty()) {
            tdClasses.append(" ").append(dynamicTDClassName);
        }

        // Add class names specific to the cell.
        Cell.Context context = createCellContext(absRowIndex, curColumn, cellTable.getValueKey(rowValue));
        String cellStyles = column.getCellStyleNames(context, rowValue);
        if (cellStyles != null) {
            tdClasses.append(" ").append(cellStyles);
        }
        // Build the cell.
        HasHorizontalAlignment.HorizontalAlignmentConstant hAlign = column.getHorizontalAlignment();
        HasVerticalAlignment.VerticalAlignmentConstant vAlign = column.getVerticalAlignment();
        TableCellBuilder td = tr.startTD();
        td.className(tdClasses.toString());
        if (hAlign != null) {
            td.align(hAlign.getTextAlignString());
        }
        if (vAlign != null) {
            td.vAlign(vAlign.getVerticalAlignString());
        }
        // Add the inner div.
        DivBuilder div = HtmlBuilderFactory.get().createDivBuilder(); // td.startDiv();
        div.className(dynamicCellClassName);

        // Render the cell into the div.
        renderCell(div, context, column, rowValue);

        // End the cell.
        div.endDiv();

        tdGenerated(td, context);
        td.html(((HtmlElementBuilderBase) div).asSafeHtml());
        td.endTD();
    }

    // End the row.
    tr.endTR();
}

From source file:com.geocento.webapps.eobroker.common.client.widgets.table.celltable.MyDefaultCellTableBuilder.java

License:Apache License

protected void buildDefaultRow(T rowValue, int absRowIndex) {
    // Calculate the row styles.
    SelectionModel<? super T> selectionModel = cellTable.getSelectionModel();
    boolean isSelected = (selectionModel == null || rowValue == null) ? false
            : selectionModel.isSelected(rowValue);
    boolean isEven = absRowIndex % 2 == 0;
    StringBuilder trClasses = new StringBuilder(isEven ? evenRowStyle : oddRowStyle);
    if (isSelected) {
        trClasses.append(selectedRowStyle);
    }/*from   ww w.  ja  v a2  s. c  o  m*/

    // Add custom row styles.
    RowStyles<T> rowStyles = cellTable.getRowStyles();
    if (rowStyles != null) {
        String extraRowStyles = rowStyles.getStyleNames(rowValue, absRowIndex);
        if (extraRowStyles != null) {
            trClasses.append(" ").append(extraRowStyles);
        }
    }

    // Build the row.
    TableRowBuilder tr = startRow();
    tr.className(trClasses.toString());

    // Build the columns.
    int columnCount = cellTable.getColumnCount();
    for (int curColumn = 0; curColumn < columnCount; curColumn++) {
        Column<T, ?> column = cellTable.getColumn(curColumn);
        // Create the cell styles.
        StringBuilder tdClasses = new StringBuilder(cellStyle);
        tdClasses.append(isEven ? evenCellStyle : oddCellStyle);
        if (curColumn == 0) {
            tdClasses.append(firstColumnStyle);
        }
        if (isSelected) {
            tdClasses.append(selectedCellStyle);
        }
        // The first and last column could be the same column.
        if (curColumn == columnCount - 1) {
            tdClasses.append(lastColumnStyle);
        }

        // Add class names specific to the cell.
        Context context = new Context(absRowIndex, curColumn, cellTable.getValueKey(rowValue));
        String cellStyles = column.getCellStyleNames(context, rowValue);
        if (cellStyles != null) {
            tdClasses.append(" " + cellStyles);
        }

        // Build the cell.
        HorizontalAlignmentConstant hAlign = column.getHorizontalAlignment();
        VerticalAlignmentConstant vAlign = column.getVerticalAlignment();
        TableCellBuilder td = tr.startTD();
        td.className(tdClasses.toString());
        if (hAlign != null) {
            td.align(hAlign.getTextAlignString());
        }
        if (vAlign != null) {
            td.vAlign(vAlign.getVerticalAlignString());
        }

        // Add the inner div.
        DivBuilder div = td.startDiv();
        div.style().outlineStyle(OutlineStyle.NONE).endStyle();

        // Render the cell into the div.
        renderCell(div, context, column, rowValue);

        // End the cell.
        div.endDiv();
        td.endTD();
    }

    // End the row.
    tr.endTR();
}