小编Anu*_*rag的帖子

GWT:将自定义窗口小部件添加到自定义窗口小部件的单元格丢失事件

我们的要求是使用CellTable其单元格中包含的自定义小部件来创建可编辑的网格.自定义窗口小部件具有与文本框关联的文本框和搜索按钮.要将自定义窗口小部件添加为单元格,创建了类的子AbstractEditableCell类(由GWT提供)并具有覆盖render()onBrowserEvent()方法.

render(Context context, String value, SafeHtmlBuilder sb)自定义窗口小部件单元格的方法为窗口小部件创建一个安全html,并将此安全html呈现给单元格.但我面临的问题是,自定义窗口小部件正确呈现但它失去了其关联事件.下面给出的渲染方法:

if (viewData.isEditing()) {
    textBoxSelector.setText(text);
    OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml safeHtmlObj = new OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml(textBoxSelector.toString());
    sb.append(safeHtmlObj);
} else {
  // The user pressed enter, but view data still exists.
  sb.append(html);
}
Run Code Online (Sandbox Code Playgroud)

如果我尝试render()使用以下代码在方法中添加窗口小部件,则不会添加窗口小部件.

    int left = parent.getAbsoluteLeft();
    int top = parent.getAbsoluteTop();
    String elementId = "ID" + left + top;
    try {
        parent.setId(elementId);
        // parent.removeFromParent();
        RootPanel.get(elementId).add(textBoxSelector);
    } catch (AssertionError error) {
        RootPanel.get(elementId).add(textBoxSelector);
    }
Run Code Online (Sandbox Code Playgroud)

我真的很感激,如果没有人CellTable失去相关事件,任何人都可以指导我实现添加小部件.

gwt

6
推荐指数
1
解决办法
4246
查看次数

标签 统计

gwt ×1