【问题标题】:Responding to clicking a specific column of a Vaadin table row响应单击 Vaadin 表行的特定列
【发布时间】:2015-08-31 17:47:20
【问题描述】:

我是 Vaadin 的新手。 我有三种不同的看法。 View1 有一个包含 column1、column2 的表。对于特定的表格行,当我单击 column1 时,我想导航到 view2,当我单击 column2 时,我希望能够导航到 view3。我可以使用 ValueChanged 事件整体响应行单击。但是如何处理对行的特定列的单击? 我处理行点击的方式如下

summaryTable.addValueChangeListener(new Property.ValueChangeListener() {
    @Override
    public void valueChange(Property.ValueChangeEvent event) {
        String provider = summaryTable.getContainerProperty(summaryTable.getValue(), "provider").toString();
        UI.getCurrent().getNavigator().navigateTo(ViewsEnum.PROVIDERS.viewName()+"/"+provider);
    }
});

请帮忙

【问题讨论】:

    标签: vaadin vaadin7


    【解决方案1】:

    下面代码中的逻辑给了我点击的列。我在 valueChange() 中使用 selectedColumn 的值来确定我要导航到哪个视图。

    summaryTable.addItemClickListener(new ItemClickEvent.ItemClickListener() {
        @Override
        public void itemClick(ItemClickEvent event) {
            // TODO Auto-generated method stub
            selectedColumn = (String)event.getPropertyId();
        }
    });
    

    不确定这是正确的方法还是只是一种技巧。 我相信有更好的方法。请建议!

    【讨论】:

    • ItemClickListener 是要走的路。
    • 我对这种方法持怀疑态度,因为我们无法保证 itemclickevent 和 valuechangeevent 被触发的顺序
    • 确实如此。你真的希望表格也是可选择的吗?
    • 如果我没有可选择的表格,我还应该如何触发事件?
    • 您可以将逻辑从 valueChange 移动到 itemClick。
    猜你喜欢
    • 2013-01-18
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多