GWT-如何在同一级别和同一子列表中有多个单元格类型?
我希望在同一树级别和同一子列表中有多个单元格类型。GWT-如何在同一级别和同一子列表中有多个单元格类型?,gwt,Gwt,我希望在同一树级别和同一子列表中有多个单元格类型。 这就是我想要创建的结构 A (Foo) - AA (Bar) - AB (Baz) - AA (Baz) 这篇文章说上面的结构无法创建。 以下是我们感兴趣的部分: 支持以下内容。A和B的孩子是不同的 类型(条形和Baz),但都是一层深: A (Foo) - AA (Bar) - AB (Bar) - AA (Bar) B (Foo) - BA (Baz) - BB (Baz)
这就是我想要创建的结构
A (Foo)
- AA (Bar)
- AB (Baz)
- AA (Baz)
这篇文章说上面的结构无法创建。
以下是我们感兴趣的部分: 支持以下内容。A和B的孩子是不同的 类型(条形和Baz),但都是一层深:
A (Foo)
- AA (Bar)
- AB (Bar)
- AA (Bar)
B (Foo)
- BA (Baz)
- BB (Baz)
- BC (Baz)
以下内容不受支持。一个家庭的孩子不可能是孩子
多种类型
A (Foo)
- AA (Bar)
- AB (Baz)
- AA (Biz)
上一篇文章来自2010年,我想知道现在这个结构是否仍然不受支持?
如果我们能做到这一点,一些想法或样本将非常有用。 我试着为Bar和Baz使用一个基本单元类,但没有成功
提前感谢最后,我创建了一个自定义单元格,该单元格必须包含两个不同的UIRenderer。根据DTO的标志,我们可以决定使用哪个渲染器。每个单元格类型都是在xml上定义的
public class DualFaceCell extends AbstractCell<DTO> {
@UiTemplate("SimpleFaceCell.ui.xml")
interface SimpleFaceRenderer extends UiRenderer {
void render(SafeHtmlBuilder sb);
void onBrowserEvent(SimpleFaceCell o, NativeEvent e, Element p);
}
@UiTemplate("ComplexFaceCell.ui.xml")
interface ComplexFaceRenderer extends UiRenderer {
void render(SafeHtmlBuilder sb, String name);
void onBrowserEvent(ComplexFaceCell o, NativeEvent e, Element p);
}
private final SimpleFaceRenderer simpleRenderer = GWT.create(SimpleFaceRenderer .class);
private final ComplexFaceRenderer complexRenderer = GWT.create(ComplexFaceRenderer .class);
public DualFaceCell() {
super(BrowserEvents.CLICK);
}
@Override
public void render(Context context, DTO value, SafeHtmlBuilder sb) {
if (value.isSimpleFaceCell()) {
simpleRenderer.render(sb);
} else {
complexRenderer.render(sb, value.getName());
}
}
将显示以下错误:
"add" is not a known field name as listed in the @UiHandler annotation in "void onAddListClicked(com.google.gwt.event.dom.client.ClickEvent event, com.google.gwt.dom.client.Element parent)" of com.bla.bla.client.view.DualFaceCell
你知道如何让UIHandler正常工作吗?
"add" is not a known field name as listed in the @UiHandler annotation in "void onAddListClicked(com.google.gwt.event.dom.client.ClickEvent event, com.google.gwt.dom.client.Element parent)" of com.bla.bla.client.view.DualFaceCell