PDA

View Full Version : Reload data in GXT grid freezes



planadecu
1 Feb 2012, 7:30 AM
Based on the GXT showcase example 'Paging BeanModel Grid' I try to reload the grid when I have done a modifiaction to my data source. I defined the loader like that:



final BasePagingLoader<PagingLoadResult<ModelData>> loader = new BasePagingLoader<PagingLoadResult<ModelData>>(proxy, new BeanModelReader());
loader.setRemoteSort(true);
The data loads correctly.


When I do:



loader.load();
My paging toolbar just freezes and goes disabled, the grid freezes too and displays what appears to be a loading rectangle.


I tried to add some events to force a double reload without luck:



grid.addListener(Events.Attach, new Listener<GridEvent<ModelData>>() {
public void handleEvent(GridEvent<ModelData> be) {
loader.load();


}
});
I tried to use the reconfigure(store,cm) option as well and same result.
To me there is a bug on the grid controller:


Code details:



private final BasePagingLoader<PagingLoadResult<ModelData>> loader;
private Grid<ModelData> grid;
[...]


public ListUsersView(RpcProxy<PagingLoadResult<UserTableEntryBean>> proxy) {
// Create loader
loader = new BasePagingLoader<PagingLoadResult<ModelData>>(proxy, new BeanModelReader());
loader.setRemoteSort(true);


// Create store
store = new ListStore<ModelData>(loader);


FlowLayout layout = new FlowLayout();
layout.setMargins(new Margins(3, 0, 0, 0));
this.setLayout(layout);


final PagingToolBar toolBar = new PagingToolBar(50);
toolBar.bind(loader);


List<ColumnConfig> columns = new ArrayList<ColumnConfig>();
columns.add(new ColumnConfig(UserTableEntryBean.Fields.username.name(), "Username", 100));
columns.add(new ColumnConfig(UserTableEntryBean.Fields.email.name(), "E-mail", 200));
ColumnConfig date = new ColumnConfig(UserTableEntryBean.Fields.creationDate.name(), "Creation date", 100);
date.setDateTimeFormat(DateTimeFormat.getFormat("dd/MM/y"));
columns.add(date);


ColumnModel cm = new ColumnModel(columns);


grid = new Grid<ModelData>(store, cm);


grid.setLoadMask(true);
grid.setBorders(true);
grid.setAutoExpandColumn(UserTableEntryBean.Fields.creationDate.name());


[...]
}


public boolean refreshTable() {
return loader.load();
}


Any help?

Copy on: http://stackoverflow.com/questions/8879949/reload-data-in-gxt-grid-freezes


Thanks, Jordi.

sven
1 Feb 2012, 8:04 AM
Can you please provide a fully working testcase implementing EntryPoint that shows your problem?