首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试实现GWT cellList

尝试实现GWT cellList
EN

Stack Overflow用户
提问于 2012-02-18 13:08:47
回答 1查看 2.9K关注 0票数 0

我正在尝试实现单元格列表,并将来自服务器的数据插入到我的单元格列表中,在单元格表中一切正常,但现在我必须切换到不起作用的cellList

在GWT Show case中,我创建了这个类

代码语言:javascript
复制
         public class EmployerJobCell extends AbstractCell<EmployerJobs> {

@Override
public void render(com.google.gwt.cell.client.Cell.Context context,
        EmployerJobs value, SafeHtmlBuilder sb) {

     if (value == null) {
            return;
          }

          sb.appendHtmlConstant("<table>");

          // Add the contact image.
          sb.appendHtmlConstant("<tr><td rowspan='3'>");
          sb.appendHtmlConstant("</td>");

          // Add the name and address.
          sb.appendHtmlConstant("<td style='font-size:95%;'>");
          sb.appendEscaped(value.getJobTitle());
          sb.appendHtmlConstant("</td></tr><tr><td>");
          sb.appendEscaped(value.getJobLevel());
          sb.appendHtmlConstant("</td></tr></table>");



}

}

在我的视图类中,我这样做了

代码语言:javascript
复制
            EmployerJobCell jobCell = new EmployerJobCell();
            celllist = new CellList<EmployerJobs>(jobCell);
    celllist.setPageSize(5);
    verticalpanel.add(celllist);

但在我的观点上,我没有得到任何东西。

我也必须使用setRowData吗?

如果是,我如何获取我的数据

代码语言:javascript
复制
           ArrayList<EmployerJobs > values = new ArrayList<EmployerJobs>();
       celllist.setRowData(values);

比如我会在我的清单上写些什么

代码语言:javascript
复制
          values.  ??       
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-19 05:53:09

CellList的工作原理与CellTable基本相同--两者都获取一个数据列表,并使用Cell绘制它们。主要区别在于,CellList只为每种内容绘制一个单元格,而CellTable可以绘制多个单元格,每个单元格从模型对象读取不同的数据。

两者都实现了HasData,允许您提供数据和监视器选择等。因此,在这两种情况下,您都应该在每个对象上调用widget.setRowData(index, data)以使其绘制内容。因此,简而言之,要将一个给定CellList的内容完全替换为一个名为valuesList,请执行以下操作:

代码语言:javascript
复制
List<EmployerJobs> values = ...
CellList<EmployerJobs> cellList = ...

cellList.setRowCount(0);// clear out existing rows
cellList.setRowData(0, values);// apply new rows

或者,更简单地说,使用AbstractHasData.setRowData(List)

代码语言:javascript
复制
cellList.setRowData(values); //clear and apply new rows

这应该会让您到达显示数据的位置。

使用分页使这变得稍微复杂一些-通常使用分页小部件,如SimplePager,并且不将数据提供给HasData,而是提供给数据提供程序,数据提供程序根据分页信息将数据传递给小部件。请参阅http://code.google.com/webtoolkit/doc/latest/DevGuideUiCellWidgets.html#paginghttp://code.google.com/p/google-web-toolkit/source/browse/trunk/user/javadoc/com/google/gwt/examples/view/AsyncDataProviderExample.java?r=8944,了解如何通过将数据交给DataProvider进行管理,并让AbstractPager允许用户决定他们想要查看的内容来实现此目的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9338760

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档