如何在GWT的flextable中获取右键单击事件的行数据?

时间:2017-06-14 12:11:17

标签: gwt

在下面的代码中,docName1将object HTMLDivElement作为值。 我想要行数据。

versionTable.sinkEvents(Event.ONCONTEXTMENU);
versionTable.addHandler(new ContextMenuHandler() {
    @Override
    public void onContextMenu(ContextMenuEvent event) {
        event.getNativeEvent().preventDefault();
        event.getNativeEvent().stopPropagation();
        final int x=event.getNativeEvent().getClientX();
        final int y=event.getNativeEvent().getClientY();

        String docName1=event.getNativeEvent().getEventTarget().toString();
        Window.alert(docName1);
    }
}

请帮助。

1 个答案:

答案 0 :(得分:0)

如果通过"行数据"你的意思是表单元格的文本内容,而不是你应该使用Element.getInnerText()

public void onContextMenu(ContextMenuEvent event) {
    ...    
    Element el = event.getNativeEvent().getEventTarget().cast();
    String docName1 = el.getInnerText();
    Window.alert(docName1);
}

但是,你必须要保佑,事件目标是一个正确的DOM元素,它包含"行数据"。