2012-01-25 5 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 I列からヘッダを削除した後のデータが表示されているコンフィグ!誰が本当の問題が何であるかを知っていますか?

答えて

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を見てください。しかし、これはデフォルトではない理由があります。一般的には、ヘッダーを入れすぎないようにして、ページ全体をスクロールさせるのではなく、コンテンツをスクロールできるようにします。