List of usage examples for com.google.gwt.user.cellview.client Column setSortable
public void setSortable(boolean sortable)
From source file:com.google.gwt.sample.showcase.client.content.cell.CwDataGrid.java
License:Apache License
/** * Add the columns to the table.//from w w w. j av a 2 s. c om */ @ShowcaseSource private void initTableColumns(final SelectionModel<ContactInfo> selectionModel, ListHandler<ContactInfo> sortHandler) { // Checkbox column. This table will uses a checkbox column for selection. // Alternatively, you can call dataGrid.setSelectionEnabled(true) to enable // mouse selection. Column<ContactInfo, Boolean> checkColumn = new Column<ContactInfo, Boolean>(new CheckboxCell(true, false)) { @Override public Boolean getValue(ContactInfo object) { // Get the value from the selection model. return selectionModel.isSelected(object); } }; dataGrid.addColumn(checkColumn, SafeHtmlUtils.fromSafeConstant("<br/>")); dataGrid.setColumnWidth(checkColumn, 40, Unit.PX); // First name. Column<ContactInfo, String> firstNameColumn = new Column<ContactInfo, String>(new EditTextCell()) { @Override public String getValue(ContactInfo object) { return object.getFirstName(); } }; firstNameColumn.setSortable(true); sortHandler.setComparator(firstNameColumn, new Comparator<ContactInfo>() { public int compare(ContactInfo o1, ContactInfo o2) { return o1.getFirstName().compareTo(o2.getFirstName()); } }); dataGrid.addColumn(firstNameColumn, constants.cwDataGridColumnFirstName()); firstNameColumn.setFieldUpdater(new FieldUpdater<ContactInfo, String>() { public void update(int index, ContactInfo object, String value) { // Called when the user changes the value. object.setFirstName(value); ContactDatabase.get().refreshDisplays(); } }); dataGrid.setColumnWidth(firstNameColumn, 20, Unit.PCT); // Last name. Column<ContactInfo, String> lastNameColumn = new Column<ContactInfo, String>(new EditTextCell()) { @Override public String getValue(ContactInfo object) { return object.getLastName(); } }; lastNameColumn.setSortable(true); sortHandler.setComparator(lastNameColumn, new Comparator<ContactInfo>() { public int compare(ContactInfo o1, ContactInfo o2) { return o1.getLastName().compareTo(o2.getLastName()); } }); dataGrid.addColumn(lastNameColumn, constants.cwDataGridColumnLastName()); lastNameColumn.setFieldUpdater(new FieldUpdater<ContactInfo, String>() { public void update(int index, ContactInfo object, String value) { // Called when the user changes the value. object.setLastName(value); ContactDatabase.get().refreshDisplays(); } }); dataGrid.setColumnWidth(lastNameColumn, 20, Unit.PCT); // Age. Column<ContactInfo, Number> ageColumn = new Column<ContactInfo, Number>(new NumberCell()) { @Override public Number getValue(ContactInfo object) { return object.getAge(); } }; lastNameColumn.setSortable(true); sortHandler.setComparator(ageColumn, new Comparator<ContactInfo>() { public int compare(ContactInfo o1, ContactInfo o2) { return o1.getBirthday().compareTo(o2.getBirthday()); } }); Header<String> ageFooter = new Header<String>(new TextCell()) { @Override public String getValue() { List<ContactInfo> items = dataGrid.getVisibleItems(); if (items.size() == 0) { return ""; } else { int totalAge = 0; for (ContactInfo item : items) { totalAge += item.getAge(); } return "Avg: " + totalAge / items.size(); } } }; dataGrid.addColumn(ageColumn, new SafeHtmlHeader(SafeHtmlUtils.fromSafeConstant(constants.cwDataGridColumnAge())), ageFooter); dataGrid.setColumnWidth(ageColumn, 7, Unit.EM); // Category. final Category[] categories = ContactDatabase.get().queryCategories(); List<String> categoryNames = new ArrayList<String>(); for (Category category : categories) { categoryNames.add(category.getDisplayName()); } SelectionCell categoryCell = new SelectionCell(categoryNames); Column<ContactInfo, String> categoryColumn = new Column<ContactInfo, String>(categoryCell) { @Override public String getValue(ContactInfo object) { return object.getCategory().getDisplayName(); } }; dataGrid.addColumn(categoryColumn, constants.cwDataGridColumnCategory()); categoryColumn.setFieldUpdater(new FieldUpdater<ContactInfo, String>() { public void update(int index, ContactInfo object, String value) { for (Category category : categories) { if (category.getDisplayName().equals(value)) { object.setCategory(category); } } ContactDatabase.get().refreshDisplays(); } }); dataGrid.setColumnWidth(categoryColumn, 130, Unit.PX); // Address. Column<ContactInfo, String> addressColumn = new Column<ContactInfo, String>(new TextCell()) { @Override public String getValue(ContactInfo object) { return object.getAddress(); } }; addressColumn.setSortable(true); sortHandler.setComparator(addressColumn, new Comparator<ContactInfo>() { public int compare(ContactInfo o1, ContactInfo o2) { return o1.getAddress().compareTo(o2.getAddress()); } }); dataGrid.addColumn(addressColumn, constants.cwDataGridColumnAddress()); dataGrid.setColumnWidth(addressColumn, 60, Unit.PCT); }
From source file:com.gwtmodel.table.view.table.PresentationTable.java
License:Apache License
@SuppressWarnings("unchecked") private void createHeader() { if (model == null) { return;//from w w w . j a v a 2s. c om } if (columnC) { return; } // 2015/05/01 while (table.getColumnCount() > 0) table.removeColumn(0); VListHeaderContainer vo = model.getHeaderList(); if (!CUtil.EmptyS(vo.getWidthDef())) { table.setWidth(vo.getWidthDef(), true); } List<VListHeaderDesc> li = vo.getVisHeList(); int colNo = 0; for (VListHeaderDesc he : li) { boolean editable = he.isEditable(); @SuppressWarnings("rawtypes") Header header = null; @SuppressWarnings("rawtypes") Column co = null; if (he.getgHeader() != null) { header = he.getgHeader().getHeader(); co = he.getgHeader().getColumn(); if (co == null) { co = new RawColumn(he.getFie()); } // table.addColumn(co, header); // continue; } if (co == null) { FieldDataType fType = he.getFie().getType(); if (he.getButtonAction() != null) { co = fa.constructActionButtonCell(he.getButtonAction(), he.getFie(), fType, new AttachClass(he.getFie())); } else if (fType.isConvertableToString()) { if (editable) { co = faEdit.constructEditTextCol(he); } else { co = new TColumnString(he.getFie(), fType); } } else { switch (fType.getType()) { case LONG: case BIGDECIMAL: case INT: if (editable) { co = faEdit.constructNumberCol(he); } else { co = fa.constructNumberCol(he.getFie()); } break; case DATE: if (editable) { co = faEdit.constructDateEditCol(he); } else { co = fa.constructDateEditCol(he.getFie()); } break; case BOOLEAN: if (editable) { co = faEdit.contructBooleanCol(he.getFie(), !selectEnabled()); } else { co = fa.contructBooleanCol(he.getFie()); } break; default: if (editable || he.isImageCol()) { co = faEdit.constructEditTextCol(he); } else { co = fa.constructTextCol(he.getFie(), he); } break; } } co.setSortable(true); // align switch (AlignCol.getCo(he.getAlign(), he.getFie().getType())) { case LEFT: co.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_LEFT); break; case RIGHT: co.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT); break; case CENTER: co.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER); break; } } // col width String width = he.getColWidth(); if (!CUtil.EmptyS(width)) { String[] pa = width.split(";"); if (pa.length == 1) { table.setColumnWidth(co, pa[0]); } else { double wi; try { wi = DecimalUtils.toDouble(pa[0]); } catch (NumberFormatException e) { String info = LogT.getT().InproperWidthInColumn(he.getHeaderString(), pa[0]); LogT.errorLogE(info, e); return; } Style.Unit u; try { u = Style.Unit.valueOf(pa[1]); } catch (IllegalArgumentException e) { String info = LogT.getT().InproperColumnUnit(he.getHeaderString(), pa[1]); LogT.errorLogE(info, e); return; } table.setColumnWidth(co, wi, u); } } // if (header == null && (he.isHidden() || he.getHeaderString() == null)) { // Important: for some reason the assert violation cause // breaking without Exception throwing // So additional error alert is displayed to avoid confusion Utils.errAlert(he.getFie().getId(), LogT.getT().HeaderNull()); assert !he.isHidden() && he.getHeaderString() != null : LogT.getT().cannotBeNull(); } VFooterDesc footer = null; if (vo.getFoList() != null) { for (VFooterDesc fo : vo.getFoList()) { if (fo.getFie().eq(he.getFie())) { footer = fo; break; } } } if (header == null) { header = footFactory.constructHeader(he, editable); } if (he.getHeaderClass() != null) header.setHeaderStyleNames(he.getHeaderClass()); if (footer != null) { table.addColumn(co, header, footFactory.constructFooter(footer)); } else { // table.addColumn(co, he.getHeaderString()); table.addColumn(co, header); } if (!async) { ListHandler<MutableInteger> columnSortHandler = new ListHandler<MutableInteger>( dProvider.getList()); columnSortHandler.setComparator(co, new CoComparator(he)); table.addColumnSortHandler(columnSortHandler); } else { ColumnSortEvent.AsyncHandler sortHandler = new ColumnSortEvent.AsyncHandler(table); table.addColumnSortHandler(sortHandler); } // ColumnSortEvent.fire(myTable, myTable.getColumnSortList()); // iMap.put(colNo, he); coV.addColDesc(colNo, he); colNo++; } // for columnC = true; setWrapCol(); setSortCol(); }
From source file:com.jitlogic.zico.client.views.traces.TraceSearchPanel.java
License:Open Source License
private void createTraceGrid() { grid = new DataGrid<TraceInfo>(1024 * 1024, ZicoDataGridResources.INSTANCE, KEY_PROVIDER); selection = new SingleSelectionModel<TraceInfo>(KEY_PROVIDER); grid.setSelectionModel(selection);/*from ww w. j ava 2 s .c o m*/ data = new ListDataProvider<TraceInfo>(); data.addDataDisplay(grid); sortHandler = new ColumnSortEvent.ListHandler<TraceInfo>(data.getList()); grid.addColumnSortHandler(sortHandler); Column<TraceInfo, TraceInfo> colExpander = new IdentityColumn<TraceInfo>(DETAIL_EXPANDER_CELL); grid.addColumn(colExpander, "#"); grid.setColumnWidth(colExpander, 32, Style.Unit.PX); Column<TraceInfo, TraceInfo> colTraceClock = new IdentityColumn<TraceInfo>(TRACE_CLOCK_CELL); grid.addColumn(colTraceClock, new ResizableHeader<TraceInfo>("Clock", grid, colTraceClock)); grid.setColumnWidth(colTraceClock, 140, Style.Unit.PX); colTraceClock.setSortable(true); sortHandler.setComparator(colTraceClock, new Comparator<TraceInfo>() { @Override public int compare(TraceInfo o1, TraceInfo o2) { return (int) (o1.getClock() - o2.getClock()); } }); Column<TraceInfo, TraceInfo> colTraceType = new IdentityColumn<TraceInfo>(TRACE_TYPE_CELL); grid.addColumn(colTraceType, new ResizableHeader<TraceInfo>("Type", grid, colTraceType)); grid.setColumnWidth(colTraceType, 60, Style.Unit.PX); Column<TraceInfo, TraceInfo> colTraceDuration = new IdentityColumn<TraceInfo>(TRACE_DURATION_CELL); grid.addColumn(colTraceDuration, new ResizableHeader<TraceInfo>("Time", grid, colTraceDuration)); grid.setColumnWidth(colTraceDuration, 64, Style.Unit.PX); colTraceDuration.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT); colTraceDuration.setSortable(true); sortHandler.setComparator(colTraceDuration, new Comparator<TraceInfo>() { @Override public int compare(TraceInfo o1, TraceInfo o2) { return (int) ((o1.getExecutionTime() - o2.getExecutionTime()) / 1000000L); } }); Column<TraceInfo, TraceInfo> colTraceCalls = new IdentityColumn<TraceInfo>(TRACE_CALLS_CELL); grid.addColumn(colTraceCalls, new ResizableHeader<TraceInfo>("Calls", grid, colTraceCalls)); grid.setColumnWidth(colTraceCalls, 50, Style.Unit.PX); colTraceCalls.setSortable(true); sortHandler.setComparator(colTraceCalls, new Comparator<TraceInfo>() { @Override public int compare(TraceInfo o1, TraceInfo o2) { return (int) (o1.getCalls() - o2.getCalls()); } }); Column<TraceInfo, TraceInfo> colTraceErrors = new IdentityColumn<TraceInfo>(TRACE_ERRORS_CELL); grid.addColumn(colTraceErrors, new ResizableHeader<TraceInfo>("Errs", grid, colTraceErrors)); grid.setColumnWidth(colTraceErrors, 50, Style.Unit.PX); colTraceErrors.setSortable(true); sortHandler.setComparator(colTraceErrors, new Comparator<TraceInfo>() { @Override public int compare(TraceInfo o1, TraceInfo o2) { return (int) (o1.getErrors() - o2.getErrors()); } }); Column<TraceInfo, TraceInfo> colTraceRecords = new IdentityColumn<TraceInfo>(TRACE_RECORDS_CELL); grid.addColumn(colTraceRecords, new ResizableHeader<TraceInfo>("Recs", grid, colTraceRecords)); grid.setColumnWidth(colTraceRecords, 50, Style.Unit.PX); colTraceRecords.setSortable(true); sortHandler.setComparator(colTraceRecords, new Comparator<TraceInfo>() { @Override public int compare(TraceInfo o1, TraceInfo o2) { return (int) (o1.getRecords() - o2.getRecords()); } }); Column<TraceInfo, TraceInfo> colTraceDesc = new IdentityColumn<TraceInfo>(TRACE_NAME_CELL); grid.addColumn(colTraceDesc, "Description"); grid.setColumnWidth(colTraceDesc, 100, Style.Unit.PCT); rowBuilder = new TraceSearchTableBuilder(grid, expandedDetails); grid.setTableBuilder(rowBuilder); grid.setSkipRowHoverStyleUpdate(true); grid.setSkipRowHoverFloatElementCheck(true); grid.setSkipRowHoverCheck(true); grid.setKeyboardSelectionPolicy(HasKeyboardSelectionPolicy.KeyboardSelectionPolicy.DISABLED); grid.addCellPreviewHandler(new CellPreviewEvent.Handler<TraceInfo>() { @Override public void onCellPreview(CellPreviewEvent<TraceInfo> event) { NativeEvent nev = event.getNativeEvent(); String eventType = nev.getType(); if ((BrowserEvents.KEYDOWN.equals(eventType) && nev.getKeyCode() == KeyCodes.KEY_ENTER) || BrowserEvents.DBLCLICK.equals(nev.getType())) { selection.setSelected(event.getValue(), true); openDetailView(); } if (BrowserEvents.CONTEXTMENU.equals(eventType)) { selection.setSelected(event.getValue(), true); if (selection.getSelectedObject() != null) { contextMenu.setPopupPosition(event.getNativeEvent().getClientX(), event.getNativeEvent().getClientY()); contextMenu.show(); } } } }); grid.addDomHandler(new DoubleClickHandler() { @Override public void onDoubleClick(DoubleClickEvent event) { event.preventDefault(); } }, DoubleClickEvent.getType()); grid.addDomHandler(new ContextMenuHandler() { @Override public void onContextMenu(ContextMenuEvent event) { event.preventDefault(); } }, ContextMenuEvent.getType()); }
From source file:com.jitlogic.zico.client.views.traces.TraceStatsPanel.java
License:Open Source License
private void createTraceGrid() { grid = new DataGrid<TraceInfoStatsResult>(1024 * 1024, ZicoDataGridResources.INSTANCE, KEY_PROVIDER); selection = new SingleSelectionModel<TraceInfoStatsResult>(KEY_PROVIDER); grid.setSelectionModel(selection);/*ww w .j a v a2 s .c om*/ data = new ListDataProvider<TraceInfoStatsResult>(); data.addDataDisplay(grid); sortHandler = new ColumnSortEvent.ListHandler<TraceInfoStatsResult>(data.getList()); grid.addColumnSortHandler(sortHandler); Column<TraceInfoStatsResult, TraceInfoStatsResult> colTraceCalls = new IdentityColumn<TraceInfoStatsResult>( TRACE_CALLS_CELL); grid.addColumn(colTraceCalls, new ResizableHeader<TraceInfoStatsResult>("Calls", grid, colTraceCalls)); grid.setColumnWidth(colTraceCalls, 50, Style.Unit.PX); colTraceCalls.setSortable(true); sortHandler.setComparator(colTraceCalls, new Comparator<TraceInfoStatsResult>() { @Override public int compare(TraceInfoStatsResult o1, TraceInfoStatsResult o2) { return o1.getCalls() - o2.getCalls(); } }); Column<TraceInfoStatsResult, TraceInfoStatsResult> colTraceErrors = new IdentityColumn<TraceInfoStatsResult>( TRACE_ERRORS_CELL); grid.addColumn(colTraceErrors, new ResizableHeader<TraceInfoStatsResult>("Errors", grid, colTraceErrors)); grid.setColumnWidth(colTraceErrors, 50, Style.Unit.PX); colTraceErrors.setSortable(true); sortHandler.setComparator(colTraceErrors, new Comparator<TraceInfoStatsResult>() { @Override public int compare(TraceInfoStatsResult o1, TraceInfoStatsResult o2) { return o1.getErrors() - o2.getErrors(); } }); Column<TraceInfoStatsResult, TraceInfoStatsResult> colSumTime = new IdentityColumn<TraceInfoStatsResult>( TIME_SUM_CELL); grid.addColumn(colSumTime, new ResizableHeader<TraceInfoStatsResult>("Sum Time", grid, colSumTime)); grid.setColumnWidth(colSumTime, 96, Style.Unit.PX); colSumTime.setSortable(true); sortHandler.setComparator(colSumTime, new Comparator<TraceInfoStatsResult>() { @Override public int compare(TraceInfoStatsResult o1, TraceInfoStatsResult o2) { return (int) ((o1.getSumTime() - o2.getSumTime()) / 1000000L); } }); // avgTime Column<TraceInfoStatsResult, TraceInfoStatsResult> colMinTime = new IdentityColumn<TraceInfoStatsResult>( TIME_MIN_CELL); grid.addColumn(colMinTime, new ResizableHeader<TraceInfoStatsResult>("Min Time", grid, colMinTime)); grid.setColumnWidth(colMinTime, 96, Style.Unit.PX); colMinTime.setSortable(true); sortHandler.setComparator(colMinTime, new Comparator<TraceInfoStatsResult>() { @Override public int compare(TraceInfoStatsResult o1, TraceInfoStatsResult o2) { return (int) ((o1.getMinTime() - o2.getMinTime()) / 1000000L); } }); Column<TraceInfoStatsResult, TraceInfoStatsResult> colMaxTime = new IdentityColumn<TraceInfoStatsResult>( TIME_MAX_CELL); grid.addColumn(colMaxTime, new ResizableHeader<TraceInfoStatsResult>("Max Time", grid, colMaxTime)); grid.setColumnWidth(colMaxTime, 96, Style.Unit.PX); colMaxTime.setSortable(true); sortHandler.setComparator(colMaxTime, new Comparator<TraceInfoStatsResult>() { @Override public int compare(TraceInfoStatsResult o1, TraceInfoStatsResult o2) { return (int) ((o1.getMaxTime() - o2.getMaxTime()) / 1000000L); } }); Column<TraceInfoStatsResult, TraceInfoStatsResult> colAttr = new IdentityColumn<TraceInfoStatsResult>( ATTR_CELL); colAttr.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_LEFT); grid.addColumn(colAttr, new ResizableHeader<TraceInfoStatsResult>("Attr", grid, colAttr)); grid.setColumnWidth(colAttr, 100, Style.Unit.PCT); colAttr.setSortable(true); sortHandler.setComparator(colAttr, new Comparator<TraceInfoStatsResult>() { @Override public int compare(TraceInfoStatsResult o1, TraceInfoStatsResult o2) { return o1.getAttr().compareTo(o2.getAttr()); } }); grid.addCellPreviewHandler(new CellPreviewEvent.Handler<TraceInfoStatsResult>() { @Override public void onCellPreview(CellPreviewEvent<TraceInfoStatsResult> event) { NativeEvent nev = event.getNativeEvent(); String eventType = nev.getType(); if ((BrowserEvents.KEYDOWN.equals(eventType) && nev.getKeyCode() == KeyCodes.KEY_ENTER) || BrowserEvents.DBLCLICK.equals(nev.getType())) { selection.setSelected(event.getValue(), true); openSearchView(); } if (BrowserEvents.CONTEXTMENU.equals(eventType)) { selection.setSelected(event.getValue(), true); if (selection.getSelectedObject() != null) { contextMenu.setPopupPosition(event.getNativeEvent().getClientX(), event.getNativeEvent().getClientY()); contextMenu.show(); } } } }); grid.addDomHandler(new DoubleClickHandler() { @Override public void onDoubleClick(DoubleClickEvent event) { event.preventDefault(); } }, DoubleClickEvent.getType()); grid.addDomHandler(new ContextMenuHandler() { @Override public void onContextMenu(ContextMenuEvent event) { event.preventDefault(); } }, ContextMenuEvent.getType()); }
From source file:com.sensia.tools.client.swetools.editors.sensorml.panels.widgets.swe.dataarray.GenericTable.java
License:Open Source License
/** * Populates the table.//from w w w .j a va2 s . c o m * * @param headers the headers to display * @param values the values to set */ public void poupulateTable(final List<String> headers, final Object[][] values) { //clears/creates the list init(); this.originalData = getPropertiesFromValues(values); if (table == null) { //creates the table object createTable(); } else { //remove every columns int nbColumn = table.getColumnCount(); for (int i = 0; i < nbColumn; i++) { table.removeColumn(i); } } int position = 0; //add every column based on header list for (final String colName : headers) { final int currentPosition = position; final Column<Property, String> column = new Column<Property, String>(new TextCell()) { @Override public String getValue(Property object) { return object.properties.get(currentPosition); } }; column.setSortable(false); SafeHtmlHeader colHeader = new SafeHtmlHeader(new SafeHtml() { @Override public String asString() { return "<p style=\"text-align:center;\">" + colName + "</p>"; } }); colHeader.setHeaderStyleNames("data-table-header"); table.addColumn(column, colHeader); position++; } //add extra column if editable if (isEditable) { SafeHtmlHeader removeRowLabelHeader = getRemoveRowLabelHeader(); final Column<Property, String> removeColumn = new Column<Property, String>(new ButtonCell()) { @Override public String getValue(Property c) { return "x"; } }; removeColumn.setSortable(false); //updates when the user remove a row removeColumn.setFieldUpdater(new FieldUpdater<Property, String>() { @Override public void update(int index, Property object, String value) { List<Property> newOriginalData = new ArrayList<Property>(); for (int i = 0; i < originalData.size(); i++) { if (i != index) { newOriginalData.add(originalData.get(i)); } } originalData = newOriginalData; table.setRowCount(originalData.size()); table.setRowData(originalData); dataProvider.setList(originalData); dataProvider.refresh(); deselect(); } }); table.addColumn(removeColumn, removeRowLabelHeader); } table.setRowCount(originalData.size()); table.setRowData(originalData); dataProvider.setList(originalData); dataProvider.refresh(); }
From source file:com.spshop.admin.client.sample.CwCellTable.java
License:Apache License
/** * Add the columns to the table.//from w w w . ja v a 2s . c om */ private void initTableColumns(final SelectionModel<ContactInfo> selectionModel, ListHandler<ContactInfo> sortHandler) { // Checkbox column. This table will uses a checkbox column for selection. // Alternatively, you can call cellTable.setSelectionEnabled(true) to enable // mouse selection. Column<ContactInfo, Boolean> checkColumn = new Column<ContactInfo, Boolean>(new CheckboxCell(true, false)) { @Override public Boolean getValue(ContactInfo object) { // Get the value from the selection model. return selectionModel.isSelected(object); } }; cellTable.addColumn(checkColumn, SafeHtmlUtils.fromSafeConstant("<br/>")); cellTable.setColumnWidth(checkColumn, 40, Unit.PX); // First name. Column<ContactInfo, String> firstNameColumn = new Column<ContactInfo, String>(new EditTextCell()) { @Override public String getValue(ContactInfo object) { return object.getFirstName(); } }; firstNameColumn.setSortable(true); sortHandler.setComparator(firstNameColumn, new Comparator<ContactInfo>() { public int compare(ContactInfo o1, ContactInfo o2) { return o1.getFirstName().compareTo(o2.getFirstName()); } }); cellTable.addColumn(firstNameColumn, constants.cwCellTableColumnFirstName()); firstNameColumn.setFieldUpdater(new FieldUpdater<ContactInfo, String>() { public void update(int index, ContactInfo object, String value) { // Called when the user changes the value. object.setFirstName(value); ContactDatabase.get().refreshDisplays(); } }); cellTable.setColumnWidth(firstNameColumn, 20, Unit.PCT); // Last name. Column<ContactInfo, String> lastNameColumn = new Column<ContactInfo, String>(new EditTextCell()) { @Override public String getValue(ContactInfo object) { return object.getLastName(); } }; lastNameColumn.setSortable(true); sortHandler.setComparator(lastNameColumn, new Comparator<ContactInfo>() { public int compare(ContactInfo o1, ContactInfo o2) { return o1.getLastName().compareTo(o2.getLastName()); } }); cellTable.addColumn(lastNameColumn, constants.cwCellTableColumnLastName()); lastNameColumn.setFieldUpdater(new FieldUpdater<ContactInfo, String>() { public void update(int index, ContactInfo object, String value) { // Called when the user changes the value. object.setLastName(value); ContactDatabase.get().refreshDisplays(); } }); cellTable.setColumnWidth(lastNameColumn, 20, Unit.PCT); // Category. final Category[] categories = ContactDatabase.get().queryCategories(); List<String> categoryNames = new ArrayList<String>(); for (Category category : categories) { categoryNames.add(category.getDisplayName()); } SelectionCell categoryCell = new SelectionCell(categoryNames); Column<ContactInfo, String> categoryColumn = new Column<ContactInfo, String>(categoryCell) { @Override public String getValue(ContactInfo object) { return object.getCategory().getDisplayName(); } }; cellTable.addColumn(categoryColumn, constants.cwCellTableColumnCategory()); categoryColumn.setFieldUpdater(new FieldUpdater<ContactInfo, String>() { public void update(int index, ContactInfo object, String value) { for (Category category : categories) { if (category.getDisplayName().equals(value)) { object.setCategory(category); } } ContactDatabase.get().refreshDisplays(); } }); cellTable.setColumnWidth(categoryColumn, 130, Unit.PX); // Address. Column<ContactInfo, String> addressColumn = new Column<ContactInfo, String>(new TextCell()) { @Override public String getValue(ContactInfo object) { return object.getAddress(); } }; addressColumn.setSortable(true); sortHandler.setComparator(addressColumn, new Comparator<ContactInfo>() { public int compare(ContactInfo o1, ContactInfo o2) { return o1.getAddress().compareTo(o2.getAddress()); } }); cellTable.addColumn(addressColumn, constants.cwCellTableColumnAddress()); cellTable.setColumnWidth(addressColumn, 60, Unit.PCT); }
From source file:com.stoyanr.todo.client.view.ItemsViewImpl.java
License:Open Source License
private Column<T, String> createIdColumn() { Column<T, String> col = new Column<T, String>(new TextCell()) { @Override// ww w . j a v a 2 s . co m public String getValue(T t) { return presenter.getId(t); } }; col.setSortable(true); return col; }
From source file:com.stoyanr.todo.client.view.ItemsViewImpl.java
License:Open Source License
private Column<T, String> createPriorityColumn(List<String> priorityNames) { Column<T, String> col = new Column<T, String>(new SelectionCell(priorityNames)) { @Override//from ww w .j a va 2 s. c o m public String getValue(T t) { return presenter.getPriority(t); } }; col.setFieldUpdater(new FieldUpdater<T, String>() { @Override public void update(int index, T t, String value) { presenter.updatePriority(t, value); dataProvider.refresh(); } }); col.setSortable(true); return col; }
From source file:com.stoyanr.todo.client.view.ItemsViewImpl.java
License:Open Source License
private Column<T, String> createStatusColumn(List<String> statusNames) { Column<T, String> col = new Column<T, String>(new SelectionCell(statusNames)) { @Override//w ww. j a va2 s . c o m public String getValue(T t) { return presenter.getStatus(t); } }; col.setFieldUpdater(new FieldUpdater<T, String>() { @Override public void update(int index, T t, String value) { presenter.updateStatus(t, value); dataProvider.refresh(); } }); col.setSortable(true); return col; }
From source file:com.stoyanr.todo.client.view.ItemsViewImpl.java
License:Open Source License
private Column<T, String> createCreatedColumn() { Column<T, String> col = new Column<T, String>(new TextCell()) { @Override//ww w . ja v a 2 s . co m public String getValue(T t) { return presenter.getCreated(t); } }; col.setSortable(true); return col; }