gpt4 book ai didi

vaadin - 如何在 Vaadin 的表格中获取点击的行号?

转载 作者:行者123 更新时间:2023-12-02 07:32:26 25 4
gpt4 key购买 nike

我需要获取用户点击了哪个行号来处理我的数据库操作。

try {
for (int i = 1; i < dbManager.getLastTopicId() + 1; i++) {

Integer itemId = new Integer(i);
String topicTitle = dbManager.getTitle(Integer.toString(i));
String topicText = dbManager.getText(Integer.toString(i));
String topicAuthor = dbManager.getAuthor(Integer.toString(i));

topicList.addItem(new Object[] {topicTitle, topicText, topicAuthor},
itemId);
}
} catch (UnsupportedOperationException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}

这里我将数据加载到 topicList 表。我还使用 topicList.addValueChangeListener(new Property.ValueChangeListener() {
public void valueChange(ValueChangeEvent 事件)
处理用户点击。但我需要从那个听众那里得到,用户点击了哪个行号。我已经尝试过 topicList.getValue() 之类的东西,但没有一个会返回行号。谢谢

最佳答案

您可以通过添加 ValueChangeListenerItemClickListener 来获取您的行 ID。注意:ItemClickListener 不会响应键盘向上或向下箭头,只有 ValueChangeListener 会。

通过 EventObject,您可以访问项目 ID。

Table table = new Table();
table.setImmediate(true);
table.setSelectable(true);
table.addListener(new ValueChangeListener() { // With ValueChangeListener respons to keyboard input as well

public void valueChange(ValueChangeEvent event) {
getMainWindow().showNotification("ValueChange: ItemId: " + event.getProperty().getValue());
}
});
table.addListener(new ItemClickListener() { // With ItemClickListener

public void itemClick(ItemClickEvent event) {
getMainWindow().showNotification("ItemClick: ItemId" + event.getItemId());
}
});

在 Vaadin7 中,方法名称已更改为:

table.addValueChangeListener();
table.addItemClickListener();

关于vaadin - 如何在 Vaadin 的表格中获取点击的行号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20465239/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com