自定义gxt Cell可能需要Widget
我需要一个可以放置Widget的Column。 我有这个:
import com.google.gwt.cell.client.AbstractCell; import com.google.gwt.safehtml.shared.SafeHtmlBuilder; import com.google.gwt.user.client.ui.Widget; public class WidgetGridCell extends AbstractCell { Widget widget; public WidgetGridCell(Widget widget) { this.widget = widget; } @Override public void render(Context paramContext, Widget param, SafeHtmlBuilder pb) { } }
但我不知道如何在HTML中包含小部件
PS或不是Widget,只有GWT Button适合我。
有关AbstractCell实现的大量示例,请参见此处 。
要回答有关GWT按钮的问题:
import com.google.gwt.cell.client.AbstractCell; import com.google.gwt.safehtml.shared.SafeHtmlBuilder; import com.google.gwt.user.client.ui.Widget; public class WidgetGridCell extends AbstractCell { Widget widget; public WidgetGridCell(Widget widget) { this.widget = widget; } @Override public void render(Context paramContext, Widget param, SafeHtmlBuilder pb) { Button aButton = new Button(); // add text to the button, etc... pb.append(SafeHtmlUtils.fromTrustedString(aButton.toString())); } }
尝试在单元格元素中渲染整个小部件在很大程度上是不可行的(并且不可取),但听起来好像你真的试图从单元格中渲染一个按钮。
AbstractCell是Cell接口的一个实现,它允许您定义要在单元格内呈现的HTML。 如果您需要一个可以响应事件的按钮,则需要定义自定义单元以处理浏览器事件(例如单击事件)。 谷歌在自定义单元格的文档方面做得很好,解释了如何做到这一点。
请看这个链接: http : //www.gwtproject.org/doc/latest/DevGuideUiCustomCells.html
我有一篇关于向小区添加小部件的post。 看看它是否会帮助你。
http://mpickell.com/blog/2013/01/28/widgets-in-gwt-cell-tables/
就像Colin所说,除非将窗口小部件的HTML再次推送到页面,否则不会使用窗口小部件上的更改。 我在这篇文章的评论中有一些关于你可能处理事件的方法的注意事项。 阅读评论,看看如何使用我在post中的课程。
就像Colin在这里所说的那样,要小心并确保你理解你正在做什么,以及小部件永远不会真正附加到页面中的HTML。
顺便说一句..你提到你想要一个按钮。 为什么不使用GWT ButtonCell ?