lichnost
14 Jan 2009, 7:57 AM
When I'm adding new item to grids store, grid showing only n rows i have added first time. Exactly newly added item appears on the last place of grid, but first item disappears(however store still contain it).
Seems like bug.
Any suggestions
Example code below
public void onModuleLoad() {
List<TestBean> beanList = new ArrayList<TestBean>();
TestBean bean = new TestBean();
bean.setName("Charles");
TestBean nestedBean = new TestBean();
nestedBean.setName("Ray");
bean.setNested(nestedBean);
beanList.add(bean);
bean = new TestBean();
bean.setName("Paul");
nestedBean = new TestBean();
nestedBean.setName("McCartney");
bean.setNested(nestedBean);
beanList.add(bean);
List<ColumnConfig> lcc = new ArrayList<ColumnConfig>();
lcc.add(new ColumnConfig("name","name", 150));
lcc.add(new ColumnConfig("nested.name","nested.name", 150));
ListStore<BeanModel> store = new ListStore<BeanModel>();
store.add(BeanModelLookup.get().getFactory(TestBean.class).createModel(beanList));
final Grid<BeanModel> grid = new Grid<BeanModel>(store, new ColumnModel(lcc));
Button btn = new Button("Add", new SelectionListener<ButtonEvent>(){
@Override
public void componentSelected(ButtonEvent ce) {
TestBean newBean = new TestBean();
newBean.setName("New");
TestBean newNestedBean = new TestBean();
newNestedBean.setName("Row");
newBean.setNested(newNestedBean);
grid.getStore().add(BeanModelLookup.get().getFactory(TestBean.class).createModel(newBean));
}
});
RootPanel.get().add(grid);
RootPanel.get().add(btn);
}TestBean
public class TestBean implements BeanModelTag, Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
private TestBean nested;
private String name;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setNested(TestBean nested) {
this.nested = nested;
}
public TestBean getNested() {
return nested;
}
}
Seems like bug.
Any suggestions
Example code below
public void onModuleLoad() {
List<TestBean> beanList = new ArrayList<TestBean>();
TestBean bean = new TestBean();
bean.setName("Charles");
TestBean nestedBean = new TestBean();
nestedBean.setName("Ray");
bean.setNested(nestedBean);
beanList.add(bean);
bean = new TestBean();
bean.setName("Paul");
nestedBean = new TestBean();
nestedBean.setName("McCartney");
bean.setNested(nestedBean);
beanList.add(bean);
List<ColumnConfig> lcc = new ArrayList<ColumnConfig>();
lcc.add(new ColumnConfig("name","name", 150));
lcc.add(new ColumnConfig("nested.name","nested.name", 150));
ListStore<BeanModel> store = new ListStore<BeanModel>();
store.add(BeanModelLookup.get().getFactory(TestBean.class).createModel(beanList));
final Grid<BeanModel> grid = new Grid<BeanModel>(store, new ColumnModel(lcc));
Button btn = new Button("Add", new SelectionListener<ButtonEvent>(){
@Override
public void componentSelected(ButtonEvent ce) {
TestBean newBean = new TestBean();
newBean.setName("New");
TestBean newNestedBean = new TestBean();
newNestedBean.setName("Row");
newBean.setNested(newNestedBean);
grid.getStore().add(BeanModelLookup.get().getFactory(TestBean.class).createModel(newBean));
}
});
RootPanel.get().add(grid);
RootPanel.get().add(btn);
}TestBean
public class TestBean implements BeanModelTag, Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
private TestBean nested;
private String name;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setNested(TestBean nested) {
this.nested = nested;
}
public TestBean getNested() {
return nested;
}
}