java - GWT 访问网格元素值

标签 java gwt

我使用 com.google.gwt.user.client.ui.Grid 创建了一个网格; :

Grid g = new Grid (5,5);

我通过 SQL 查询向网格添加了几个元素:

            g.setWidget(i, 0, texto(i, temp.get(1)));
        g.setWidget(i, 1, desplegable(temp.get(2)));
        g.setWidget(i, 2, texto(i, temp.get(3)));
        g.setWidget(i, 3, texto(i, temp.get(4).replace("%%", "")));
        g.setWidget(i, 4, gu);

“texto”和“desplegable”都是我创建的用于自定义文本框和列表框的方法;两者都有一个点击事件,通过该事件可以更改/修改其初始值。

“gu”是我在上面的代码上方创建的按钮。 “gu”有一个点击事件,它假装做的是获取网格中包含的单元格元素的值。

以下是一个示例:

ItemId        ItemName
-----------------------
01             Peak       [gu]
02             Paper      [gu]
03             Pick       [gu]

现在,当我单击“gu”时,根据我单击的“gu”,我想从网格中检索两个值(itemid 和 itemname)。我知道如何区分单击了哪个“gu”,但我不知道如何访问与该“gu”按钮对齐的元素。

<小时/>

但直到现在我还没有找到如何做到这一点。

有人可以帮我解释一下吗?

预先感谢您的宝贵时间,

亲切的问候,

最佳答案

您可以使用 map 保留对每个按钮的行索引的引用,例如:

Map<Button, Integer> buttonRowMap = new HashMap<Button, Integer>();
...
g.setWidget(i, 4, gu);   // Your existing line
buttonRowMap.put(gu, i); // Keep a reference to the row index

然后在 ClickHandler 中,您可以检索行索引和同一行上的小部件:

public void onClick(ClickEvent event) {
    Button button = (Button) event.getSource();
    Integer rowIndex = buttonRowMap.get(button);
    TextBox tb = (TextBox) g.getWiget(rowIndex, 2);
    ...
}

关于java - GWT 访问网格元素值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20664091/

相关文章:

java - 编写一个csv文件并在android中以其他名称作为附件发送

java - 写入文本文件时遇到问题

java - 如何模拟包含可能引发 NPE 的变量的类

java - Apache Kafka Java 生产者 Scala 消费者缺少流

GWT:按 KEY_ENTER 我想启用按钮的 onclick 方法

GWT SimplePager : How to change the button images of the pager?

java - 无法通过 KafkaIO 在光束中读取 kafka

java - GWT:如何捕获哪些代码覆盖了 CSS 游标值。或者为什么它会覆盖?

java - GWT项目部署到STS(Eclipse)中的tomcat

eclipse - 安装 gwt Eclipse 插件时出现错误 Norepositoryfound contains : osgi.bundle,org