当前位置: 首页 > 面试题库 >

动态创建GWT CellTable

路金鑫
2023-03-14
问题内容

我陷入GWT
CellTable的问题。我需要动态创建单元表,而我没有实体(Bean)类。我已经看到了所有celltable的示例,并且在没有实体类的情况下进行了大量搜索。

我需要根据数据库中存储的一些元数据动态填充表。我可以创建表结构

考虑有两个类,一个是GRID,另一个是COLUMN,用于元数据和列定义。GRID将具有COLUMNS的列表作为列定义

    Class GRID {
List<COLUMN> columns;
}

Class COLUMN {
  String columnName;
}

现在,我需要从数据库中获取网格并循环以填充单元格(列),如:

com.google.gwt.user.cellview.client.Column<String, String> textColumn = new Column<String, String>(
                        new EditTextCell()) {
                    @Override
                    public String getValue(String object) {
                        return object;
                    }
                };

现在,我需要向单元格表中添加一些数据。但是没有实体,就没有如何填充不同列的示例。我已经尝试过自己的自我:( 考虑网格有3列)

List<String> data;

String a1 = "A1";
            String a2 = "A2";
            String a3 = "A3";

            data = new ArrayList<String>();
            data.add(a1);
            data.add(a2);
            data.add(a3);

final AsyncDataProvider<String> provider = new AsyncDataProvider<String>() {
            @Override
            protected void onRangeChanged(HasData<String> display) {
                updateRowData(0, data);
            }
          };
          provider.addDataDisplay(grid);
provider.updateRowCount(data.size(), true);

我能够产生如下输出:

A1 A1 A1

A2 A2 A2

A3 A3 A3

实际上输出应该只有一行

A1 A2 A3

但是没有这样做。

请帮忙。

谢谢,

问候,


问题答案:

你可以代表你的“行”的List<String>情况下,你有你的参数从改变StringList<String>GridColumn和数据提供者;
当然你必须updateRowData用a List<List<String>>而不是a 来打电话List<String>

Column每列还需要一个实例,将值从List<String>by索引中取出:

class IndexedColumn extends Column<List<String>, String>
   private final int index;
   public IndexedColumn(int index) {
     super(new EditTextCell();
     this.index = index;
   }

   @Override
   public String getValue(List<String> object) {
      return object.get(this.index);
   }
}


 类似资料:
  • 问题内容: 你好,我有这个设置 我需要为每个按钮获取以下内容 在Java中是否可以为我声明的每个按钮动态创建此按钮?因为当我有5个按钮时,我不需要3x5 = 15行代码,而是只有几行具有动态创建的按钮。 问题答案: 编写一个小循环并将您的按钮存储在数组中:

  • 你好,我已经准备好了 我需要为每个按钮获得以下内容 在Java中,是否可以为我声明的每个按钮动态创建它?因为当我有5个按钮时,我不希望3x5=15行代码,而只希望有几行动态创建的按钮。

  • 问题内容: 给定一个类名,我想动态创建一个Groovy类,向其添加属性和方法。我使用创建新类 对于我使用的方法 其中it.key是字符串(方法名),it.value是闭包。这很方便,因为我可以指定方法参数类型并进行类型检查。但是,如果不给它赋值,就无法指定动态创建的属性类型。我可以通过显式定义属性的getter和setter来解决此问题。这可行,但是metaClass.name = value或m

  • 问题内容: 我在mysql上创建数据库。首先创建主体表,每个表平均有30列。日志表的标准是引用表的pk加上每列*2。像这样: 参考表: 日志表: 现在,我想要创建一个过程,在该过程中,我将表名作为参数传递,并生成表日志查询并执行它。 做这个的最好方式是什么? 问题答案: 为了使一个字符串代表一个表(或数据库)名称,您将需要用变量连接查询字符串,并在存储过程中准备/执行一条语句。这是一个基本示例。

  • 问题内容: 我需要动态创建一个类。为了更详细,我需要动态创建Django类的子类。 通过“动态”,我打算基于用户提供的配置创建一个类。 例如 我想要一个命名为该类的子类的类。 该类应具有所选属性的列表。 ....在这种情况下 有什么有用的提示吗?:) 问题答案: 您可以通过调用内置函数并传递适当的参数来动态创建类,例如: 它适用于新型类。我不确定这是否也适用于老式类。

  • 我正在工作的一个项目,允许人们列出手机出售,并能够查看所有的手机出售。我的工作正常。jsp返回一个包含所有电话及其所有详细信息的列表。如品牌、型号、网络、存储、颜色、屏幕大小等。 问题是,它需要设置,以便您只看到“品牌”和“型号”(例如“i Phone”“6”),然后能够点击“更多信息”查看其余的细节。这个'more info'按钮应该会打开一个包含手机全部细节的新jsp。 抱歉,如果我没有提供足