What's the problem or did I just miss it between the code? :) Am Donnerstag, 20. Dezember 2012 17:09:12 UTC+1 schrieb VB: > > I have a CellTable with 3 columns, and 1 ListBox that is supposed to > provide a drop down of possible filter values. > i want to drive the filtering of the celltable rows, based from a > selection in a ListBox (that contains all possible values) of one of the > columns in the CellTable > I am using a ListDataProvider and just want to filter on the client side. > > The ListBox is populated with String values... > final ListBox supportCaseStatusListBox = new ListBox(); > supportCaseStatusListBox.addItem("In Progress", "1"); > supportCaseStatusListBox.addItem("Closed", "5"); > .............. > > The statusColumn in CellTable is defined as: > TextColumn<SupportCaseDTO> statusColumn = new TextColumn<SupportCaseDTO>() > { > @Override > public String getValue(SupportCaseDTO supportCase) { > return supportCase.getStatus(); > } > }; > > > ---------- > > import java.util.ArrayList; > import java.util.List; > > import org.dozer.DozerBeanMapper; > > import com.google.common.collect.Lists; > import com.google.gwt.core.client.Scheduler; > import com.google.gwt.core.client.Scheduler.ScheduledCommand; > import com.google.gwt.dom.client.Style.Unit; > import com.google.gwt.event.dom.client.ClickEvent; > import com.google.gwt.event.dom.client.ClickHandler; > import com.google.gwt.user.cellview.client.CellTable; > import com.google.gwt.user.cellview.client.SimplePager; > import com.google.gwt.user.cellview.client.TextColumn; > import com.google.gwt.user.client.ui.Button; > import com.google.gwt.user.client.ui.HTML; > import com.google.gwt.user.client.ui.HasHorizontalAlignment; > import com.google.gwt.user.client.ui.HorizontalPanel; > import com.google.gwt.user.client.ui.Label; > import com.google.gwt.user.client.ui.ListBox; > import com.google.gwt.user.client.ui.Panel; > import com.google.gwt.user.client.ui.VerticalPanel; > import com.google.gwt.view.client.ListDataProvider; > > public class ViewSupportCasesPanel extends BasePanel{ > > static final String TITLE = "View Support Case"; > > private SupportCaseDTO supportCaseDTO = new SupportCaseDTO(); > private final Button backButton = new RpButton("Back"); > private final HorizontalPanel buttonPanel = new HorizontalPanel(); > private final RegistrationBean registrationBean; > > public ViewSupportCasesPanel(AppControl appControl, > RegistrationBean registrationBean) { > super(appControl); > > this.registrationBean = registrationBean; > > VerticalPanel mainVerticalPanel = new VerticalPanel(); > initWidget(mainVerticalPanel); > > final HTML header = new HTML(Messages.SUPPORT_CASE_VIEW_CASES_HEADER); > mainVerticalPanel.add(header); > > final Label supportCaseStatusListLabel = new Label("Support Case Status:"); > final ListBox supportCaseStatusListBox = new ListBox(); > supportCaseStatusListBox.addItem("In Progress", "1"); > supportCaseStatusListBox.addItem("Closed", "5"); > supportCaseStatusListBox.addItem("Awaiting Customer Reply", "2"); > supportCaseStatusListBox.addItem("RMA", "3"); > supportCaseStatusListBox.addItem("Escalated to QA/Dev", "8"); > supportCaseStatusListBox.addItem("Software Upgrade Needed", "6"); > supportCaseStatusListBox.addItem("Product Replacement Needed", "7"); > supportCaseStatusListBox.addItem("Awaiting Customer Confirmation", "4"); > // create CellTable > final CellTable<SupportCaseDTO> cellTable = new > CellTable<SupportCaseDTO>(); > > // Create case number column. > TextColumn<SupportCaseDTO> numberColumn = new TextColumn<SupportCaseDTO>() > { > @Override > public String getValue(SupportCaseDTO supportCase) { > return supportCase.getCaseNumber(); > } > }; > > // Make the name column sortable. > numberColumn.setSortable(false); > > // Create subject column. > TextColumn<SupportCaseDTO> subjectColumn = new > TextColumn<SupportCaseDTO>() { > @Override > public String getValue(SupportCaseDTO supportCase) { > return supportCase.getTitle(); > } > }; > > // Create status column. > TextColumn<SupportCaseDTO> statusColumn = new TextColumn<SupportCaseDTO>() > { > @Override > public String getValue(SupportCaseDTO supportCase) { > return supportCase.getStatus(); > } > }; > /* // Create product column. > TextColumn<SupportCaseDTO> productColumn = new > TextColumn<SupportCaseDTO>() { > @Override > public String getValue(SupportCaseDTO supportCase) { > return supportCase.getProduct(); > } > };*/ > > // Add the columns. > cellTable.addColumn(numberColumn, "Case #"); > cellTable.addColumn(subjectColumn, "Subject"); > cellTable.addColumn(statusColumn, "Status"); > // cellTable.addColumn(productColumn, "Product"); > > cellTable.setWidth("100%", true); > cellTable.setColumnWidth(numberColumn, 10, Unit.PCT); > cellTable.setColumnWidth(subjectColumn, 60, Unit.PCT); > cellTable.setColumnWidth(statusColumn, 15, Unit.PCT); > // cellTable.setColumnWidth(productColumn, 15, Unit.PCT); > // Create a data provider. > ListDataProvider<SupportCaseDTO> listDataProvider = new > ListDataProvider<SupportCaseDTO>(); > > // Connect the table to the data provider. > listDataProvider.addDataDisplay(cellTable); > > DrSimplePager pager = new DrSimplePager(); > pager.setDisplay(cellTable); > pager.setPageSize(20); > > // Add the data to the data provider, which automatically pushes it to > // the widget > final List<SupportCaseDTO> listSupportCaseDTO = listDataProvider > .getList(); > > BusyDialog.show(Messages.PLEASE_WAIT); > MainService.Util.getInstance().getContactSupportCases( > ViewSupportCasesPanel.this.registrationBean, > new DefaultCallback<List<SupportCaseDTO>>() { > @Override > public void onFailure(Throwable ex) { > BusyDialog.hide(); > super.onFailure(ex); > } > > @Override > public void onSuccess( > final List<SupportCaseDTO> result) { > BusyDialog.hide(); > > for (SupportCaseDTO supportCase : result) { > listSupportCaseDTO.add(supportCase); > } > > super.onSuccess(result); > } > }); > > mainVerticalPanel.add(UIHelpers.createBreak()); > mainVerticalPanel.add(supportCaseStatusListLabel); > mainVerticalPanel.add(supportCaseStatusListBox); > mainVerticalPanel.add(UIHelpers.createBreak()); > mainVerticalPanel.add(cellTable); > mainVerticalPanel.add(pager); > > mainVerticalPanel.add(createButtonPanel()); > mainVerticalPanel.setCellHorizontalAlignment(buttonPanel, > HasHorizontalAlignment.ALIGN_CENTER); > > } > > Panel createButtonPanel() { > buttonPanel.setSpacing(10); > buttonPanel.add(backButton); > > backButton.addClickHandler(new ClickHandler() { > public void onClick(ClickEvent event) { > appControl.onSupportRegister(registrationBean); > } > > }); > > return buttonPanel; > } > > } > >
-- You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/kn2DmWlw43QJ. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.