我只是想使用下面的代码在GXT网格中显示一些行。但是网格只显示它的标题。我在这里做错了什么?
public void onModuleLoad() {
//MainScreen mainScreen = new MainScreen();
RootPanel rootPanel = RootPanel.get("main_div");
BeanModel u1 = new User( "firstname1", "lastname1");
BeanModel u2 = new User( "firstname2", "lastname2");
ListStore<BeanModel> store = new ListStore<BeanModel>();
store.add( u1);
store.add( u2);
List<ColumnConfig> configList = new ArrayList<ColumnConfig>();
ColumnConfig column1 = new ColumnConfig();
column1.setId("firstname");
column1.setHeader("FirstName");
column1.setWidth(150);
configList.add(column1);
ColumnConfig column2 = new ColumnConfig();
column2.setId("lastname");
column2.setHeader("LastName");
column2.setWidth(150);
configList.add(column2);
ColumnModel columnModel = new ColumnModel( configList);
Grid<BeanModel> grid = new Grid<BeanModel>( store, columnModel);
grid.setBorders(true);
grid.setWidth(300);
rootPanel.add( grid);
}
User对象如下:
public class User extends BeanModel {
private static final long serialVersionUID = 1L;
public User(){}
public User( String firstName, String lastName){
set( "firstname", firstName);
set( "lastname", lastName);
}
public String getFirstName() {
return get("firstname");
}
public void setFirstName(String firstName) {
set( "firstname", firstName);
}
public String getLastName() {
return get("lastName");
}
public void setLastName(String lastName) {
set( "lastname", lastName);
}
}
更新 从列配置中删除标题后,将显示数据!有谁知道这里真正的问题是什么?
答案 0 :(得分:2)
通过指定网格的大小,我能够正确显示网格。
Grid<BaseModel> grid = new Grid<BaseModel>( listStore, columnModel);
grid.setSize( 600, 300);
grid.getView().setForceFit(true); //Makes the vertical scrollbar
答案 1 :(得分:1)
为什么不在列配置中添加模型数据后再尝试添加模型数据。
声明网格后添加模型数据。
答案 2 :(得分:1)
设置网格高度,或者为其指定一个将调整其大小的布局。如果您想要一个自动增长的网格,请查看自动高度网格http://www.sencha.com/examples/#autoheightgrid。有一个原因,这不是默认值:通常你希望标题保持不变并允许内容滚动,而不是让整个事情在页面太大时滚动页面。