1

我正在构建一个 Datagrid,其中包含“食谱”对象中包含的食谱数据。使用 TextColumns 填写表格,但我实际创建列的代码似乎没有运行:

Window.alert("recipes: " + recipeList.get(0).getIngredients());

TextColumn<Recipes> ingredientColumn = new TextColumn<Recipes>() 
{   
    @Override
    public String getValue(Recipes ingredient) {
        return ingredient.getIngredient();
    }
};
Window.alert("after column creation");
ingredientColumn.setDataStoreName("Ingredients");
colList.add(ingredientColumn);

for (TextColumn col : colList) {
   this.table.addColumn(col, "header");
}

TextColumn 块运行之前和之后的警报(与任何后续代码一样),并且数据在那里并且是准确的。Datagrid 本身是用Recipes 对象实例化的,所以那里没有任何不一致。

另外,我使用 dataStoreName 来设置列标题,当我运行我的代码时,标题确实出现了,所以表本身似乎存在,只是没有列。我尝试在 TextColumn 块内放置一个警报,但从未出现过,所以整个块似乎都被绕过了。

我不确定是否/需要多少信息来更好地帮助潜在的答案,因为我对 GWT 很陌生,但如果需要编辑,我很乐意提供我能提供的任何信息以获得准确的答案我的困境。

提前致谢!

4

1 回答 1

1

设置DataGrid时需要确保几个关键事项:

  • 通过addColumn调用设置和添加列
  • setRowCount()通过调用/setRowData()或通过数据提供者将数据应用于网格
  • 网格有足够的高度来显示至少一些行
于 2015-10-22T21:15:45.240 回答