2012-01-25 56 views
3

我只是想使用下面的代碼在GXT網格中顯示一些行。但網格只顯示它的標題。我在這裏做錯了什麼?無法用本地數據填充簡單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); 
} 

用戶對象是如下:

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); 
} 

}

UPDATE 我從柱中移除報頭之後CONFIGS顯示數據!有人知道這裏真正的問題是什麼嗎?

回答

2

我能夠通過指定網格大小來正確顯示網格顯示。

Grid<BaseModel> grid = new Grid<BaseModel>(listStore, columnModel); 
grid.setSize(600, 300);  
grid.getView().setForceFit(true); //Makes the vertical scrollbar 
1

爲什麼不在添加列配置後嘗試添加模型數據?

在聲明網格後添加模型數據。

1

設置網格高度,或爲其設置尺寸的佈局。如果您想要自動增長的網格,請查看自動高度網格http://www.sencha.com/examples/#autoheightgrid。有一個原因,但這不是默認的:通常你希望頭文件保持放置並允許內容滾動,而不是讓整個事物在頁面太大時滾動頁面。