【问题标题】:How can I set the title on a GWT cell widget?如何在 GWT 单元小部件上设置标题?
【发布时间】:2011-05-17 01:31:34
【问题描述】:

我有一个单元格表,其中有几列,其数据有时可能比它们的列宽更宽。

我将我的 css 文本溢出设置为省略号,因此用户很明显,当单元格的值超过列的宽度时,单元格的值会更多。

对于“普通”小部件,我只会使用 setTitle() 在鼠标悬停时自动显示全部内容,但 TextCell(和所有其他单元格小部件)不会扩展 UiObject,因此他们没有此方法可用.

TextCell 由 td 标签内的 div 实现。能够在任一元素上设置标题会给我我正在寻找的行为,但我似乎无法找到处理任一元素的方法。

让 HTML 标题行为在单元格表格小部件中工作的最佳方法是什么?

谢谢,

道格

【问题讨论】:

    标签: gwt gwt-2.2-celltable


    【解决方案1】:

    您可以编写自己的单元格实现并自己在html模板中设置标题。

    看一下单元实现。基本上他们提供了用于渲染的 html 字符串。

    【讨论】:

    • 我创建了一个小部件,它扩展了 TextCell 并覆盖了 render 方法以添加我可以设置其标题的包装 div 标签。不确定这是最优雅的解决方案...
    • 'code' public class TitledTextCell extends TextCell { public TitledTextCell() { super(); } @Override public void render(Context context, SafeHtml value, SafeHtmlBuilder sb) { if (value != null) { // 创建另一个 div 以便我们可以设置它的标题 sb.appendHtmlConstant("
      "); sb.append(值); sb.appendHtmlConstant("
      "); } } }
    • 它不是最优雅的,但还可以。您可以查看 TextCell 并更改模板以直接包含您的标题(您将保存一个 div)
    • 谢谢,这听起来是个好主意。我在命名空间中的哪个位置查找模板?
    • 我需要同样的方法,只是:bla - 令人惊讶的是 com.google.gwt.cell.client.Cell(AbstractCell) 中没有这样的方法API,我不明白为什么? (
    【解决方案2】:

    其中一些问题已在 GWT 2.3 中“修复”。但是,如果您坚持使用 GWT 2.2,那么编写自己的单元实现是您的最佳选择。

    【讨论】:

    • 我使用的是 2.3,我只是这里的 n00b,所以无法为 2.3 创建自己的标签
    • 2.3 表格单元格中没有标题(例如 com.google.gwt.cell.client.AbstractCell
    猜你喜欢
    • 1970-01-01
    • 2012-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-20
    • 1970-01-01
    相关资源
    最近更新 更多