私はそれが古い質問だと知っていますが、とにかく私の2セントです。
私は同様のシナリオでいくつか問題がありました。問題は、許容値(AuthorProxy
インスタンス)がBookProxy
の編集に使用されたBookEditor
と異なるRequestContext
で検索されたことです。
BookProxy
オブジェクトを編集しようとしたときに、現在AuthorProxy
が常にValueListBox
で繰り返されていました。いくつかの研究の後、私はトーマスが
と説明GWTのGoogleグループにthis postを見つけた「EntityProxy位(等しい)、実際に彼らの要求コンテキストおよびstableId()を比較します。」
だから、私は私の編集ワークフローを変更することができなかったとして、私はValueListBox
は、その比較プロセスで異なるオブジェクトフィールドを使用するカスタムProvidesKey
を設定することによって、その値を取り扱う方法を変更することにしました。
私の最終的な解決策は、次のようになります。
@UiFactory
@Ignore
ValueListBox<AuthorProxy> createValueListBox()
{
return new ValueListBox<AuthorProxy>(new Renderer<AuthorProxy>()
{
...
}, new ProvidesKey<AuthorProxy>()
{
@Override
public Object getKey (AuthorProxy author)
{
return (author != null && author.getId() != null) ? author.getId() : Long.MIN_VALUE;
}
});
}
このソリューションは、私にはOKらしいです。私はそれが他の人を助けることを望む。
ありがとうございました。また、Posterousの素晴らしいドキュメントもあります。それはしっかりしたリソースでした。 http://tbroyer.posterous.com/ –
'ValueListBox'は'
あなたはサーバーから著者関係を取得してもよろしいですか?あなたのRequestFactoryリクエストに '.with(" author ")を含めます; Firebugなどで、著者がサーバから戻ってくるかどうかをチェックします)通常、' .with(editorDriver。( 'getPaths'はエディタ/サブディバイダから必要な関係を計算します)。 –