在我的GWT应用程序中,我的onSuccess(Object result)
方法最终会使用Object
属性检索ArrayList
。
此属性包含具有String属性的对象。
我希望将这些String属性显示到我的GUI中,在研究CellTable
和其他小部件后,我找不到一种简单的方法。我无法修改此C ellTable source code example以满足我的需求。
对我来说,最简单的方法是什么? (在初学者的背景下很简单。)
编辑*每个字符串属性都需要显示在标题列中,并且会有多行信息。
答案 0 :(得分:2)
另一个选项是CellList<T>
- 这可以让您使用某种List<T>
并提供可以绘制每个项目的单元格。因为它不是为每一件物品构建一个小部件,所以它的重量要轻得多,特别是如果你最终绘制了数百或数千件物品。
与CellTable<T>
或DataTable<T>
相比,CellList<T>
将每个单元格映射到每个项目,而不是假设列表中的每个项目都是具有许多属性的对象,每个属性都是应该进入自己的专栏。
作为如何绘制每个字符串的示例,com.google.gwt.cell.client.TextCell
知道每个字符串就足够了并按原样自动绘制,没有自定义样式或任何内容。由于您以后需要更多样式,您可以构建自己的单元格。
带有评论的小例子,取自GWT的CellListExample和评论(并略微编辑):
// Create a cell to render each value.
TextCell textCell = new TextCell();
// Create a CellList that uses the cell.
CellList<String> cellList = new CellList<String>(textCell);
// Set the total row count. This isn't strictly necessary, but it affects
// paging calculations, so its good habit to keep the row count up to date.
cellList.setRowCount(data.getListOfStrings().size(), true);
// Push the data into the widget.
cellList.setRowData(0, data.getListOfStrings());
// Add the cell list to its parent widget
parent.add(cellList);
答案 1 :(得分:1)
FlexTable http://www.gwtproject.org/javadoc/latest/com/google/gwt/user/client/ui/FlexTable.html?
或网格http://www.gwtproject.org/javadoc/latest/com/google/gwt/user/client/ui/Grid.html?
这些基本相同。但Grid更快,但需要事先知道它的列数和行数。