需要在视图模式和编辑模式下使用不同的值编辑文本单元格

时间:2011-11-16 13:38:51

标签: javascript gwt javascript-events asynchronous

我在GWT应用程序中有一个EditTextCell字段。让我们说它里面的字符串是:

Hello stack overflow world

如果字段值超过某些(例如10个)字符,我想删除视图中的文本,如:

Hello stac...

但在编辑时,它应在文本框中显示完整内容。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

我没有使用过这个特定的单元格,但我的第一个想法是重载单元格,并覆盖render()方法:

@Override
public render(Cell.Context context, String value, SafeHtmlBuilder sb){
if (isEditing)
   super.render(context, value, sb);
else
   super.render(context, substring, sb);
}

答案 1 :(得分:1)

EditTextCell文档中,使用备用构造函数:

  

EditTextCell(SafeHtmlRenderer渲染器)
            构造一个新的EditTextCell,它将使用给定的SafeHtmlRenderer在不处于编辑模式时呈现该值。

创建renderer时,提供两种渲染方法来完成界面。这些方法应该返回你描述的省略号形式。