I have a list grid that gets all its data using a custom DMI. I set it up to use client-side filtering. I also have a refresh button that forces an update from the server. However, when I click refresh, the filter I had previously typed into the grid's filter editors have no effect on the returned data. I tried setting a timer and adding a data arrived handler to filter the data but both didn't work. I had previously had a fetch callback which called filterData and that worked, but I had to use invalidateCache to force an update. Any thoughts? Thanks!
Paraphrased code:
SmartGWT 4.0p 2014-01-15. FF 26. GWT 2.5.1
Paraphrased code:
Code:
ResultSet rs = new ResultSet(); rs.setUseClientSideFiltering(true); // tried adding data arrived handler here but didnt work final ListGrid grid = new ListGrid(); // ... set up other attributes grid.setShowFilterEditor(true); grid.setFilterOnKeypress(true); grid.setDataProperties(rs); Button b = new Button("refresh"); b.addClickHandler(new ClickHandler() { boolean first = true; public void onClick() { Criteria filterCriteria = grid.getFilterEditorCriteria(); if (first) { grid.fetchData(); first = false; } else { grid.invalidateCache(); // tried creating timer here and calling grid.filterData(filterCriteria) but nothing happened } } }
Comment