FlexTable を CellTable に入れたいので、String getValue() で FlexTable を作成し、ft.toString() を返しました。ここで、ft は FlexTable です。
ただし、table.addColumn(flex_table_string, "Header") を実行すると、GWT は HTML をレンダリングせず、テキストのままにします
助けてください、
ありがとう、
マット
ウィジェットをCell
作成SafeHtmlBuilder
してその HTML 表現を取得するのtoString()
ではなくSimplePanel
、getElement().getInnerHTML()
親パネルで)。
主な理由は 2 つあります。
SafeHtmlBuilder
CellTable
より速くなります(それがvsGrid
またはの要点ですFlexTable
)そうは言っても、あなたが求めていることは確かに可能です:のメソッドCell
を使用する a を使用してください。作成するか、Alex によって提案されたエスケープ/アンエスケープのラウンドトリップとは異なり、 を使用しますが、 を使用するカスタム(簡単にするために拡張) で構築します。SafeHtmlBuilder
appendHtmlConstant
TextCell
SafeHtmlRenderer
AbstractSafehtmlRenderer
SafeHtmlUtils.fromTrustedString
<
すべてのand>
を < と >に置き換える必要があります。
protected void render(Context context, SafeHtml value, SafeHtmlBuilder sb) {
String html = value.asString().replaceAll("<", "<").replaceAll(">", ">");
sb.appendHtmlConstant(html);
}