문제

I have table and I want to receive data from double clicked rows. How can I do it? But I can't use addCellPrevieHandler, because double click event doesn't work there.

Datagrid<Contract> table = new Datagrid<Contract>();
table.addDomHandler(new DoubleClickHandler(){
  @Override
  public void onDoubleClick(final DoubleClickEvent event) {    
    //I want to receive data from row here    
  }
}, DoubleClickEvent.getType());
도움이 되었습니까?

해결책

You can use a selection model:

Datagrid<Contract> table = new Datagrid<Contract>();
SingleSelectionModel<Contract> selectionModel = new SingleSelectionModel<Contract>();
table.setSelectionModel(selectionModel);
table.addDomHandler(new DoubleClickHandler() {
    @Override
    public void onDoubleClick(final DoubleClickEvent event) {
        Contract selected = selectionModel.getSelectedObject();
        if (selected != null) {
            // TODO
        }
    }
}, DoubleClickEvent.getType());
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top