gwt cellTable を使用しています。このセル テーブルには、compositeCell を含む列が 1 つあります。今、その複合セル内のすべてのセルにツールチップを追加したいと考えています。これに対する回避策はありますか?
user1296107
質問する
6242 次
4 に答える
5
通常の Column クラスの代わりに拡張できる抽象ツールヒント列クラスを次に示します。
public abstract class MyToolTipColumn<T, C> extends Column<T, C> {
interface Templates extends SafeHtmlTemplates {
@Template("<div title=\"{0}\">")
SafeHtml startToolTip(String toolTipText);
@Template("</div>")
SafeHtml endToolTip();
}
private static final Templates TEMPLATES = GWT.create(Templates.class);
private final String toolTipText;
public MyToolTipColumn(final Cell<C> cell, final String toolTipText) {
super(cell);
this.toolTipText = toolTipText;
}
@Override
public void render(final Context context, final T object, final SafeHtmlBuilder sb) {
sb.append(TEMPLATES.startToolTip(toolTipText));
super.render(context, object, sb);
sb.append(TEMPLATES.endToolTip());
}
}
于 2013-03-29T11:37:18.343 に答える
4
私はこの解決策を使用します:
cellTable.addCellPreviewHandler(new Handler<Object>() {
@Override
public void onCellPreview(CellPreviewEvent<Object> event) {
if ("mouseover".equals(event.getNativeEvent().getType())) {
cellTable.getRowElement(event.getIndex()).getCells().getItem(event.getColumn()).setTitle('cell contents go here.');
}
}
}
于 2013-03-29T18:55:54.983 に答える
0
純粋な GWT テーブル (com.google.gwt.user.cellview.client. CellTable ) のツールチップを追加する場合は、次の行を提案できます。
Column<String[], SafeHtml> objectNameColumn = new Column<String[], SafeHtml>(new SafeHtmlCell()) {
@Override
public SafeHtml getValue(String[] object) {
String val = (object[index]==null?"":object[index]);
return new SafeHtmlBuilder().appendHtmlConstant("<span title='" +
new SafeHtmlBuilder().appendEscaped(val).toSafeHtml().asString() + "'>" + val + "</span>").toSafeHtml();
}
};
cellTable.addColumn(objectNameColumn, colLabel);
于 2013-03-29T11:03:26.360 に答える
0
You can ovveride the render method
@Override
public void render(
com.google.gwt.cell.client.Cell.Context context,
String data, SafeHtmlBuilder sb) {
super.render(context, data, sb);
sb.appendHtmlConstant(SafeHtmlUtils.
fromString("<div title=\"" +titleValue + "\"></div>"););
}
Check this also GWT CellTable tooltip not working properly
于 2013-03-29T11:00:19.943 に答える