[英]click handler on bottom vaadin
我需要為表格中的一列添加一個點擊處理程序,所以如果表格有 3 行,我需要為每一行添加一個點擊處理程序; 但我還需要向點擊處理程序添加一個值(以允許我區分行); 換句話說:
我有這個clickHandler:
btnElimina.addClickListener(new Button.ClickListener() {
@Override
public void buttonClick(ClickEvent event) {
System.out.println( "nell handler " );
}
});
我應該想要一些東西,像這樣:
btnElimina.addClickListener(new Button.ClickListener(String Val) {
@Override
public void buttonClick(ClickEvent event) {
System.out.println( "nell handler con "+ val );
} });
那可能嗎? 我用谷歌搜索了它,但沒有找到解決方案; 此外,如果我嘗試使用 ClickEvent,似乎沒有什么可以用來區分行;
感謝幫助
對於 Vaadin 7,您可以在“表中的組件”部分的官方文檔中找到示例。 TLDR:您可以使用組件中的setData()
/ getData()
來傳遞識別信息。
相關部分在這里:
Table table = new Table();
table.addStyleName("components-inside");
table.addContainerProperty("Details", Button.class, null);
/* Add a few items in the table. */
for (int i=0; i<100; i++) {
// The Table item identifier for the row.
Integer itemId = new Integer(i);
// Create a button and handle its click. A Button does not
// know the item it is contained in, so we have to store the
// item ID as user-defined data.
Button detailsField = new Button("show details");
detailsField.setData(itemId);
detailsField.addClickListener(new Button.ClickListener() {
public void buttonClick(ClickEvent event) {
// Get the item identifier from the user-defined data.
Integer iid = (Integer)event.getButton().getData();
Notification.show("Link " +
iid.intValue() + " clicked.");
}
});
// Create the table row.
table.addItem(new Object[] {detailsField},
itemId);
}
我以這種方式解決了這個問題:
public class TableListe extends CustomComponent implements Button.ClickListener{
private String istituto;
public TableListe(String ista) {
//super();
this.istituto = ista;
}
@Override
public void buttonClick(ClickEvent event) {
System.out.println( " nell handler con this.istituto " + this.istituto);
}
}
它現在似乎有效;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.