我在互联网上找到了这个代码,但不确定它是否是最佳解决方案
public int getWidgetRow(Widget widget, FlexTable table) {
for (int row = 0; row < table.getRowCount(); row++) {
for (int col = 0; col < table.getCellCount(row); col++) {
Widget w = table.getWidget(row, col);
if (w == widget) {
return row;
}
}
}
return -1;
}
为什么FlexTable没有函数来获取其中的小部件的行号?
还有其他更好的解决方案吗?
答案 0 :(得分:3)
这是一种简单的方法:
table.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
int rowIndex = table.getCellForEvent(event).getRowIndex();
}
});