データグリッド列内にテキストボックスを挿入しようとしています。TextCellまたはEditTextCellを使用できたはずですが、何らかの理由でTextBoxを使用しました。
私は次のアプローチで行きました
Cell<String> cell = new AbstractCell<String>()
{
@Override
public void render( com.google.gwt.cell.client.Cell.Context context, String value, SafeHtmlBuilder sb )
{
FlowPanel fp = new FlowPanel();
TextBox tb = new TextBox();
tb.setText( value );
fp.add( tb );
sb.appendEscaped( fp.getElement().getString() );
}
};
// Address.
Column<ContactInfo, String> addressColumn = new Column<ContactInfo, String>( cell )
{
@Override
public String getValue( ContactInfo object )
{
return object.getAddress();
}
};
ここで発生した問題は、テキストボックスではなくUIで次の情報が表示されることです。
<div><input class="gwt-TextBox" type="text"></div>
しかし、私が交換したとき
sb.appendEscaped( fp.getElement().getString() );
と
sb.appendHtmlConstant( fp.getElement().getInnerHTML() );
テキストボックスを取得していますが、値が入力されていません。
誰かがこの行動を説明できますか?どうすれば値を入力できますか?