2015-10-01 1 views
0

Я создал таблицу в ваадине, и для каждой строки я поставил кнопку, которую я хочу нажимать на каждую кнопку, данные этой строки должны быть показаны, но мой проблема заключается в том, как я динамически устанавливаю идентификатор (button.setData (), а также вторую проблему для создания кнопки. Я делаю метод, который я вызываю каждый раз для создания кнопки, но как я использую эту Способ изготовления clicklistiner для для того чтобы определить, какая кнопка мышиVaadin выборка данных при нажатии отдельной кнопки в таблице

ответ

0

в моем случае, я использую JPAContainer, так что я могу получить идентификатор таким способом: `

filterTable.addItemClickListener(new ItemClickEvent.ItemClickListener() { 
    @Override 
    public void itemClick(ItemClickEvent event) { 
     Product selectedProduct = (JPAContainerItem<Product>)event.getItem()).getEntity(); 
     ProductForm productForm = new ProductForm(....); 
     .... 
     } 
    } 
); 

` Итак,« event.getItem() »делает магию.

0

Вы можете добавить созданный столбец, в котором вы создаете свою кнопку, и что-то делать с предоставленными объектами.

.: например

table.addGeneratedColumn("BUTTON_COLUMN", new ColumnGenerator() { 

    @Override 
    public Object generateCell(final Table source, final Object itemId, final Object columnId) { 
     Button button = new Button(); 
     button.addClickListener(new ClickListener() { 

      @Override 
      public void buttonClick(ClickEvent event) { 
       // do something with source; itemId; columnId like: 
       // source.getContainerDataSource().removeItem(itemId); 
      } 
     }); 
     return button; 
    } 
}); 

 Смежные вопросы

  • Нет связанных вопросов^_^