【问题标题】:GWT: Adding GWTP Tooltip to a CellTable cellGWT:将 GWTP 工具提示添加到 CellTable 单元格
【发布时间】:2016-02-27 02:01:52
【问题描述】:

我想将GWT-Bootstrap Tooltip 用于 CellTable 中列的单元格。每个 Tooltip 都会显示一个单元格的描述,该单元格是“MyCustomObject”类中用于生成表格的字段。

我在this 问题的答案之一中找到的快速解决方案之一如下。

CellTable<MyCustomObject> table = new CellTable<MyCustomObject>();

table.addCellPreviewHandler(new Handler<MyCustomObject>() {
    @Override
    public void onCellPreview(CellPreviewEvent<MyCustomObject> event) {
        if (event.getNativeEvent().getType().equals("mouseover")){
            table.getRowElement(event.getIndex()).getCells()
                .getItem(event.getColumn()).setTitle(event.getValue().getDescription());
            }
        }
    }
);

这有点道理,但是当我将光标悬停在表格单元格上并且没有任何内容附加到 DOM 时,我什么也没看到。谁能解释这甚至是如何工作的?我想将工具提示附加到类似于以下的表格单元格。

Tooltip tt = new Tooltip("Here goes the description");
tt.setAnimation(true);
tt.setWidget(tableColumn);
tt.reconfigure();

问题在于 CellTable 单元格不是小部件,因此无法以这种方式附加。

那么有什么解决方法吗?

【问题讨论】:

    标签: java gwt tooltip gwtp celltable


    【解决方案1】:

    我曾经遇到过这个问题,我创建了自己的显示工具提示的单元格,我是这样做的: 注意:我的单元格显示带有工具提示的图像,因此我迅速更改了代码以显示字符串文本。 .所以我没有用文字测试它。

    private class TooltipCell extends AbstractCell<String> {
          private String tooltipText = "";
    
          @Override
          public void render(Context context, String value, SafeHtmlBuilder sb) {
            if (value != null) {
                sb.appendHtmlConstant("<div title=\"" + tooltipText + "\">");
              sb.append(SafeHtmlUtils.fromString(value));
            }
          }
    
          public void setTooltip(String tootltipTextToSet){
              tooltipText = tootltipTextToSet;
          }
        }
    

    在您的表格中,在返回单元格文本之前,在方法 getValue 中使用方法 setTooltip("tooltip text")。

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 2012-07-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-16
      • 1970-01-01
      • 2012-03-17
      • 2012-03-05
      • 1970-01-01
      • 2012-02-03
      相关资源
      最近更新 更多