Reputation: 20178
I created a ButtonCell and a Column for it:
ButtonCell previewButton = new ButtonCell();
Column<Auction,String> preview = new Column<Auction,String>(previewButton) {
public String getValue(Auction object) {
return "Preview";
}
};
How do I now add a click handler (e.g. ClickHandler) for this ButtonCell?
Upvotes: 17
Views: 15301
Reputation: 191
//Prevent mouse events for table cell
CellPreviewEvent.Handler<Auction > manager = DefaultSelectionEventManager.createBlacklistManager(4);//column number
cellTable.setSelectionModel(selectionModel, manager);
new Column<Auction , String>(new ButtonCell()){
@Override
public String getValue(Auction object) {
return "Preview";
}
@Override
public void onBrowserEvent(Cell.Context context, Element elem, Auction object, NativeEvent event) {
event.preventDefault();
//TODO implement event handling
}
}
Upvotes: 0
Reputation: 6025
The Cell Sampler example includes use of clickable ButtonCells. Clicks on ButtonCells are handled by setting the FieldUpdater for the Column:
preview.setFieldUpdater(new FieldUpdater<Auction, String>() {
@Override
public void update(int index, Auction object, String value) {
// The user clicked on the button for the passed auction.
}
});
Upvotes: 17