2010-11-03 83 views
1

遵循GWT展示的示例和GWT中的示例,我实现了CellTable。 CellTable显示前15个结果,但随后的页面仅显示加载栏。试图返回到前15个结果只显示加载栏。引发JavaScript控制台或GWT开发人员控制台中的错误。GWT 2.1 CellTable仅显示加载条

任何人都可以给予的帮助或见解将不胜感激。

此外,我试过以下,它也从发生同样的事情遭遇:

List<String> stringsList = new ArrayList<String>(); 

    for(int i = 0; i < 60; i++){ 
     stringsList.add("" + i); 
    } 

    CellTable<String> cellTable = new CellTable(); 

    TextColumn<String> nameColumn = new TextColumn<String>(){ 
     @Override 
     public String getValue(String string){ 
      return string; 
     } 
    }; 

    SimplePager.Resources pagerResources = GWT.create(SimplePager.Resources.class); 
    SimplePager pager = new SimplePager(TextLocation.CENTER, pagerResources, false, 0, true); 
    pager.setDisplay(cellTable); 

    cellTable.addColumn(nameColumn, "App Name"); 
    cellTable.setRowCount(stringsList.size(), true); 
    cellTable.setRowData(0, stringsList); 
    RootLayoutPanel.get().add(cellTable); 
    RootLayoutPanel.get().add(pager); 

回答

1

这种情况发生时,有一些问题,setVisibleRange或类似的方法。当支持数据提供者的列表没有足够的值或其他东西时,我会得到很多。我建议你跟踪你的程序到你要改变可见范围的地方,并检查所有进入你的方法的值。

+0

我编辑了我的初始文章以包含我试过的代码片段,它产生了与我通过更复杂的实现看到的相同的结果。 – Eric 2010-11-03 14:23:22

5

为什么不使用DataProvider和setList来填充表?在某处,我读到这是推荐的方法,setRowData不应该被使用(因为它可能会导致一些奇怪的行为)

+0

我去了并且实现了一个像你所建议的那样的dataProvider,并且让所有的东西都能正常工作。非常感激。 – Eric 2010-11-04 10:38:35

+0

然后选择它作为正确答案? – slugmandrew 2013-09-19 13:48:37

3

我认为你需要一个数据提供者来将数据推入单元格表。添加下一个代码,它应该工作。

ListDataProvider dataProvider = new ListDataProvider(); 
dataProvider.setList(stringsList); 
dataProvider.addDataDisplay(cellTable);