将Default selected table row的数据填充到另一个表中

时间:2011-10-13 12:34:15

标签: vaadin ttabsheet

我有一个要求,它包括一个顶部的表格和一个标签页,底部包含3个标签。在3个选项卡中包含3个不同的表,我的要求是在顶部表格中点击时,必须在选项卡表的每个表格中显示一些相关数据。

当我现在单击表行时,此功能正常工作,但此处的问题是加载应用程序时,在顶部表中,默认情况下必须选择第一行,并且必须填充相关数据并显示在标签表。如何使用内置侦听器实现此功能?如果提供示例,将会有很大的帮助。

1 个答案:

答案 0 :(得分:0)

由于单击一行后功能正常,我可以假设你的监听器工作正常。

我相信你可以在初始化视图后使用top表的方法myTable.setValue(table.firstItemId())。假设您的侦听器调用(例如)方法myApplication.rowSelected(Item item),您可以在设置表值后手动调用它。

示例:

void init() {
    myTable.addListener(new ItemClickEvent.ItemClickListener() {
        void itemClick(ItemClickEvent event) {
            rowSelected(event.getItem());
        }
    });

    if(!myTable.getItemIds().isEmpty()) {
        Object firstId = myTable.firstItemId();
        myTable.setValue(firstId);
        myTable.rowSelected(myTable.getItem(firstId));
    }
}

void rowSelected(Item item) {
    // Do stuff
}