【问题标题】:How to get a onClick on a gridview to display info in 3 textfields如何在网格视图上单击以在 3 个文本字段中显示信息
【发布时间】:2015-03-20 13:55:27
【问题描述】:

我想要实现的是,当用户单击网格视图时,它会显示当天,其中包含 3 列信息以在其下方的文本字段中显示该信息。

我不确定如何获取它,因此我可以单击任何行并将该信息显示在文本字段中。此外,我正在使用 vaadin 并使用 eclipse。

【问题讨论】:

  • 到目前为止还没有,我认为我可以使用 onClickListener,但我现在确定如何使用它,因为我不知道如何访问它。

标签: java eclipse gridview vaadin onclicklistener


【解决方案1】:

编辑网格内的数据

Book of Vaadin - Grid所见,可以就地编辑网格中的数据

Grid 支持基于行的编辑,双击行可打开行编辑器。在编辑器中,可以编辑输入字段,也可以使用 Tab 和 Shift+Tab 键进行导航。编辑器有一个保存按钮,用于将数据项提交到容器数据源并关闭编辑器。如果验证失败,则会显示错误并且用户可以更正输入。取消按钮放弃更改并退出编辑器。 要启用编辑,您需要为网格调用 setEditorEnabled(true)。

grid.setEditorEnabled(true);

正如上述帖子中进一步解释的那样,您还可以自定义编辑器字段以及保存和取消按钮。

编辑网格外的数据

如果您想在一些外部组件(例如文本框)中显示所选行的数据,您应该将ItemClickListener 添加到您的网格中。从收到的ItemClickEvent 中,您可以获取各种信息作为行和列。您可以轻松地使用它们来读取该行数据并将其显示在其他地方进行编辑。但是,我建议在网格编辑器中就地编辑数据,因为它更简单,对用户来说更方便并且已经实现。没有必要重新发明轮子。

   grid.addItemClickListener(new ItemClickEvent.ItemClickListener() {
        @Override
        public void itemClick(ItemClickEvent event) {
            Item clickedItem = event.getItem();
            //Your logic here
        }
    });

【讨论】:

  • 有没有办法保存我的更改,或者我需要为此设置一个数据库?还有没有办法我可以双击该行并在文本字段中显示该信息(姓名、城市和年份)?
  • 当您单击保存按钮(在图片上)时,您的编辑将被保存到网格的数据源中。无需建立数据库。我将更新关于在文本字段中显示价值的答案
  • 是的,你的权利,保存确实有效。是的,我现在需要的只是在文本字段中显示信息。
  • 我注意到当我点击保存按钮时它会保存,但它不会更新您示例中的索引或年份。如果你明白我的意思。
  • 逻辑应该是什么?
猜你喜欢
  • 1970-01-01
  • 2019-08-27
  • 2019-09-21
  • 1970-01-01
  • 2020-04-11
  • 2023-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多