Hi,
i've had the same problem, many thanks to Jens and Rajeshwar for the
solution!
I've extended Column and TextColumn:
public abstract class TooltipColumn<T, C> extends Column<T, C>{
private final Cell<C> cell;
public TooltipColumn(Cell<C> cell) {
super(cell);
this.cell = cell;
}
public abstract SafeHtml getTooltipValue(T object);
@Override
public void render(Context context, T object, SafeHtmlBuilder sb) {
SafeHtmlBuilder mysb = new SafeHtmlBuilder();
cell.render(context, getValue(object), mysb);
mysb.appendHtmlConstant("<span>");
mysb.append(getTooltipValue(object));
mysb.appendHtmlConstant("</span>");
sb.append(mysb.toSafeHtml());
}
}
public abstract class TooltipTextColumn<T> extends TooltipColumn<T,
String> {
/**
* Construct a new TextColumn.
*/
public TooltipTextColumn() {
super(new TextCell());
}
}
CSS:
.CssCellTableCell span {
display:none
}
.CssCellTableCell:hover span {
border:1px solid #e6e3e5;
DISPLAY: block;
Z-INDEX: 1000;
PADDING: 0px 10px 0px 10px;
POSITION:absolute;
float:left;
background:#ffffd1;
TEXT-DECORATION: none
}
Add a Column:
TooltipTextColumn<Todos> aTextColumn = new
TooltipTextColumn<Todos>() {
@Override
public String getValue(Todos object) {
return object.getText();
}
@Override
public SafeHtml getTooltipValue(Todos object) {
return new
SafeHtmlBuilder().appendEscaped(object.getText()).toSafeHtml();
}
};
cellTable.addColumn(aTextColumn, "Text");