Vaadin:带有表事件处理的选项卡
我们在 Vaadin 中实现了一个选项卡视图,其中每个选项卡都有一个扩展 Table 类的实例。
在我们的表中,我们添加了一个监听 ENTER 按键的快捷监听器。一旦按下回车键,表格就变得可编辑或不可编辑。
我们的问题是这样的:如果我们使 Table(1) 可编辑并切换选项卡,则旧选项卡中的 Table(1) 仍然控制 ENTER 事件,因此我们无法在新选项卡中执行新的 ENTER 按键事件表(2)并使表(2)可编辑。
是否有某种方法可以将某种事件绑定到表,该表显示如下内容:
If Table.focus() is false then
release event.ENTER
或者是否有其他方法,例如Table.OnFocus ()
你可以控制什么。
We have implemented a tab view in Vaadin where each tab has a instance of our extended Table class.
In our table we have added a shortcutlistener that listens to ENTER-keypress. Once enter is pressed the table becomes either editable or non-editable.
Our problem is this: If we make Table(1) editable and switch tab then Table (1) in the old tab still holds controll over the ENTER event and hence we can't perform a new ENTER-keypress event in the Table (2) and make Table(2) editable.
Is there some way to bind some kind of of event to a table that says something like:
If Table.focus() is false then
release event.ENTER
Or if there is some other way, like Table.OnFocus()
you could take control or something.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我认为问题在于快捷方式侦听器附加到表的父窗口/面板,而不是表本身(处理快捷方式操作的 Vaadin 方式)。
因此,尝试用面板包裹每个表格(如果您不需要额外的边框,则为“浅色”样式),然后看看这是否有帮助。
否则,我认为每次更改选项卡时都需要添加/删除单独的表快捷方式处理程序。
I think the problem is that the shortcut listener is attached to the parent window/panel of the table, and not the table itself (the Vaadin way of handling shortcut actions).
So try wrapping each table with a Panel ("light" style if you don't want the extra borders), and see if that helps.
Otherwise I think you need to add/remove the individual table shortcut handlers each time you change the tab.
所以我解决这个问题的方法是按照 Jouni 的建议清除并添加操作处理程序。
这是代码示例:
来自扩展 Table 的类
,这是来自选项卡侦听器:
So the way I solved this was by clearing and adding action handlers just as Jouni suggested.
This is a sample of the code:
From the class extending Table
And this is from tab listener: