带有过滤器文本框的customheader的Celltable(如何将过滤器文本框绑定到keyUphandler

时间:2012-08-22 10:23:32

标签: gwt gwt-2.5

我有一个要求,我需要创建具有文本框的自定义标头。输入时需要过滤匹配的记录。

通过使用以下link,我创建了自定义标头。我的CustomHeader类是

final public class ColumnHeaderFilterCell extends AbstractCell<String> {

interface Templates extends SafeHtmlTemplates {
@SafeHtmlTemplates.Template("<div >{0}</div>")
SafeHtml text(String value);

@SafeHtmlTemplates.Template("<div >
<input type=\"text\" value=\"\" name=\"{0}\"/></div>")
SafeHtml filter(String value);
}

private static Templates templates = GWT.create(Templates.class);

@Override
public void render(Context context, String value, SafeHtmlBuilder sb) {
if (value == null) {
    return;
}

SafeHtml renderedText = templates.text(value);

sb.append(renderedText);

SafeHtml renderedFilter = templates.filter(value);
sb.append(renderedFilter);
}
}

*ColumnHeader class is* 


public static class ColumnHeader extends Header<String> {

private String name_;

public ColumnHeader(String name) {
    super(new ColumnHeaderFilterCell());
    this.name_ = name;
    //setHeaderStyleNames("columnHeader " + field);
}

@Override
public String getValue() {
    return name_;
}
}

*Adding a column as*

ColumnHeader docColHeader = new ColumnHeader("Documentaton");
cellTable.addColumn(documentaton, docColHeader);

现在我的问题是我如何将addKeyUpHandler()事件添加到文本框中,这是可以进行单元格标题的?

我已使用以下link在其他地方以外的文本框上实现了对celltable的过滤 如果我能够将文本框对象传递给celltable标头可能是有帮助的。我不知道该怎么过。

任何人都可以帮助我

1 个答案:

答案 0 :(得分:1)

单元格内的事件处理不是通过像小部件这样的事件处理程序完成的,而是在较低级别。见https://developers.google.com/web-toolkit/doc/latest/DevGuideUiCustomCells#cell-onBrowserEvent