Example usage for com.google.gwt.gen2.table.client DefaultTableDefinition addColumnDefinition

List of usage examples for com.google.gwt.gen2.table.client DefaultTableDefinition addColumnDefinition

Introduction

In this page you can find the example usage for com.google.gwt.gen2.table.client DefaultTableDefinition addColumnDefinition.

Prototype

public void addColumnDefinition(ColumnDefinition<RowType, ?> columnDef) 

Source Link

Document

Add a ColumnDefinition .

Usage

From source file:com.qualogy.qafe.gwt.client.ui.renderer.DataGridFactory.java

License:Apache License

public static TableDefinition<DataContainerGVO> createTableDefinition(final DataGridGVO source,
        final DataGridColumnGVO[] dataGridColumnGVOs, final String uuid, final String parent,
        final HasDataGridMethods parentWidget) {
    // Create the table definition
    final DefaultTableDefinition<DataContainerGVO> tableDefinition = new DefaultTableDefinition<DataContainerGVO>();

    // Set the row renderer
    if (source.getRowColors() != null && source.getRowColors().length > 0) {
        tableDefinition.setRowRenderer(new QDefaultRowRenderer<DataContainerGVO>(source.getRowColors()));

    } else {// www .  j  a  va2  s .  c  o m
        tableDefinition.setRowRenderer(new DefaultRowRenderer<DataContainerGVO>());
    }

    final ArrayList<DataGridColumnGVO> copyDataGridColumnGVOs = new ArrayList<DataGridColumnGVO>();

    // Column to show the status of the row visibly
    if ((source.getAdd() || source.getDelete() || source.getEditable()) && dataGridColumnGVOs != null
            && !DataMap.ROW_NUMBER.equals(dataGridColumnGVOs[0].getFieldName())) {
        final DataGridColumnGVO rowNumberDataGridColumnGVO = new DataGridColumnGVO();
        final LabelGVO rowNumberLabel = new LabelGVO();
        rowNumberDataGridColumnGVO.setComponent(rowNumberLabel);
        rowNumberDataGridColumnGVO.setFieldName(DataMap.ROW_NUMBER);
        rowNumberDataGridColumnGVO.setWidth("25");
        rowNumberDataGridColumnGVO.setContainerName(source.getId());
        rowNumberDataGridColumnGVO.setContext(source.getContext());
        resolveEvents4RowNumber(rowNumberDataGridColumnGVO, source);
        copyDataGridColumnGVOs.add(rowNumberDataGridColumnGVO);
    }

    if (dataGridColumnGVOs != null) {
        for (final DataGridColumnGVO dgColumnGVO : dataGridColumnGVOs) {
            copyDataGridColumnGVOs.add(dgColumnGVO);
        }
    }

    DataGridColumnGVO[] dataGridColumnGVOsArray = new DataGridColumnGVO[copyDataGridColumnGVOs.size()];
    dataGridColumnGVOsArray = copyDataGridColumnGVOs.toArray(dataGridColumnGVOsArray);
    if (dataGridColumnGVOs != null) { // If there are columns defined
        source.setColumns(dataGridColumnGVOsArray);
    }

    if (copyDataGridColumnGVOs != null) {
        for (int i = 0; i < dataGridColumnGVOsArray.length; i++) {
            final DataGridColumnGVO dataGridColumnGVO = dataGridColumnGVOsArray[i];
            if (dataGridColumnGVO.isQafeChecksum()) {
                continue;
            }
            final String columnName = dataGridColumnGVO.getFieldName();
            final String columnWidth = dataGridColumnGVO.getWidth();
            final Boolean columnVisible = dataGridColumnGVO.getVisible();

            final QColumnDefinition columnDef = new QColumnDefinition();
            columnDef.setField(columnName);
            columnDef.setIdentifyingField(dataGridColumnGVO.getIdentifyingField());
            columnDef.setColumnSortable(dataGridColumnGVO.getSortable());
            if (columnWidth != null && columnWidth.length() > 0) {
                try {
                    columnDef.setPreferredColumnWidth(Integer.parseInt(columnWidth));
                } catch (final Exception e) {
                    ClientApplicationContext.getInstance()
                            .log("Could not parse column width for datagrid (id" + source.getId()
                                    + ") or name (" + source.getFieldName() + ") for column (id="
                                    + dataGridColumnGVO.getId() + ",name=" + columnName + ")");
                }
            }

            tableDefinition.addColumnDefinition(columnDef);
            if ((columnVisible != null) && !columnVisible) {
                tableDefinition.setColumnVisible(columnDef, columnVisible);
            }

            final CellRenderer<DataContainerGVO, String> cellRenderer = CellRendererHelper
                    .getCellRenderer(source, dataGridColumnGVO, uuid, parent, parentWidget);
            if (cellRenderer != null) {
                columnDef.setCellRenderer(cellRenderer);
            }
            final CellCleaner cellCleaner = CellRendererHelper.getCellCleaner(source, dataGridColumnGVO, uuid,
                    parent, parentWidget);
            columnDef.setCellCleaner(cellCleaner);
        }
    }
    return tableDefinition;
}

From source file:org.kuali.student.common.ui.client.widgets.pagetable.PagingScrollTableBuilder.java

License:Educational Community License

/**
 * This method builds the table model. Call at the end of the builder method chain.
 * Required/*from   www . j a  va2  s  .com*/
 *
 *
 * @return the built pagingScrollTable
 */
@SuppressWarnings("unchecked") //columnDef cast
public PagingScrollTable<RowType> build(GenericTableModel tableModel) {
    DefaultTableDefinition<RowType> tableDefinition = new DefaultTableDefinition<RowType>();
    if (columnDefs != null) {
        for (AbstractColumnDefinition columnDef : columnDefs) {
            columnPixelWidths.add(columnDef.getPreferredColumnWidth());
            CellRenderer renderer = new CellRenderer() {

                @Override
                public void renderRowValue(Object rowValue, ColumnDefinition columnDef, AbstractCellView view) {
                    if (rowValue != null && rowValue instanceof ResultRow) {
                        view.setHTML((String) columnDef.getCellValue(rowValue));
                    }
                }

            };
            columnDef.setCellRenderer(renderer);
            tableDefinition.addColumnDefinition(columnDef);
        }
    }

    if (isPagable) {
        pagingScrollTable = new PagingScrollTable<RowType>(
                tableModel.createCachedTableModel(numPageRows, numPages), tableDefinition);
        pagingScrollTable.setPageSize(numPageRows);

    } else {
        pagingScrollTable = new PagingScrollTable<RowType>(tableModel, tableDefinition);
        pagingScrollTable.setPageSize(tableModel.getRowCount());
    }
    pagingScrollTable.setPixelSize(tablePixelWidth, tablePixelHeight);//FIXME workaround for incubator bug   [KSCOR-225] This table to be replaced in M6
    pagingScrollTable.setEmptyTableWidget(new HTML("There is no data to display"));

    pagingScrollTable.getDataTable().setSelectionPolicy(selectionPolicy);

    pagingScrollTable.getHeaderTable().setWidth("100%");
    pagingScrollTable.getDataTable().setWidth("100%");

    return this.pagingScrollTable;
}

From source file:org.pentaho.pat.client.ui.widgets.OlapTable.java

License:Open Source License

/**
 * Create the Live Table Column Definitions.
 * //  w  w  w.j a  v a2s  .co  m
 * @return tableDef
 */
private TableDefinition<AbstractBaseCell[]> createTableDefinition() {
    AbstractBaseCell[] group = null;
    final DefaultTableDefinition<AbstractBaseCell[]> tableDef = new DefaultTableDefinition<AbstractBaseCell[]>();
    final List<AbstractBaseCell[]> colData = Arrays.asList(patTableModel.getColumnHeaders());
    for (int i = 0; i < olapData.getWidth(); i++) {
        final AbstractBaseCell[] headers = colData.get(offset - 1);

        final int cell = i;

        final PatColDef<AbstractBaseCell[], Widget> colDef0 = new PatColDef<AbstractBaseCell[], Widget>(
                headers[i].getLabel()) {

            @Override
            public Widget getCellValue(final AbstractBaseCell[] rowValue) {
                if (rowValue[cell] == null) {
                    return new Label(""); //$NON-NLS-1$
                } else {

                    return rowValue[cell].getLabel();
                }
            }
        };

        if (offset > 1) {
            for (int j = 1; j < offset; j++) {
                group = colData.get(offset - j - 1);

                if (group != null) {
                    Widget groupPanel = null;
                    if (group[i].getFormattedValue() == null || group[i].sameAsPrev) {
                        colDef0.setHeader(j, groupPanel);
                    } else {
                        groupPanel = group[i].getLabel();
                        colDef0.setHeader(j, groupPanel);
                    }
                }
            }
        }

        //  CellEditor cellEditor = new DataCellEditor();

        //      colDef0.setCellEditor(cellEditor);
        colDef0.setHeaderTruncatable(false);
        colDef0.setColumnSortable(false);
        colDef0.setColumnTruncatable(false);

        tableDef.addColumnDefinition(colDef0);

    }
    return tableDef;
}

From source file:org.pentaho.pat.client.ui.widgets.ResultSetTable.java

License:Open Source License

/**
 * Create the Live Table Column Definitions.
 * /*  w w w.j  av  a  2  s  .co m*/
 * @return tableDef
 */
private TableDefinition<String[]> createTableDefinition() {
    final DefaultTableDefinition<String[]> tableDef = new DefaultTableDefinition<String[]>();
    final List<String> colData = Arrays.asList(patTableModel.getColumnHeader());
    for (int i = 0; i < tableData.getWidth(); i++) {
        final String headers = colData.get(i);
        final Integer cell = i;
        final DefaultColumnDefinition<String[], String> colDef0 = new DefaultColumnDefinition<String[], String>(
                headers) {
            @Override
            public String getCellValue(String[] rowValue) {
                return (rowValue == null || rowValue[cell] == null || rowValue[cell].equals("null") ? ""
                        : rowValue[cell]);

            }
        };

        colDef0.setHeaderTruncatable(false);
        colDef0.setColumnSortable(false);
        colDef0.setColumnTruncatable(false);

        tableDef.addColumnDefinition(colDef0);
    }
    return tableDef;
}