0

私のGWTプロジェクトでは、

私は最初にリストと*KEY_PROVIDER*を作成して、リスト内のレコードを一意に識別しました。Listの代わりにPostgresデータベースに接続しましたが、 ProvidesKeyのオブジェクトをデータベースに渡す必要があるのか​​、データベースを使用するときに完全に削除する必要があるのか​​疑問に思っています。

EARLIER- _

// Make a provider, connect the List with the provider!
final ListDataProvider<Contact> sortProvider = new ListDataProvider<Contact>(KEY_PROVIDER);
sortProvider.setList(CONTACTS);

-

// Create a data provider.
MyDataProvider sortProvider = new MyDataProvider();
sortProvider.addDataDisplay(table);

今どのように行う必要があるのか​​わかりませんか?

合格する必要がありますか-

MyDataProvider sortProvider = new MyDataProvider(KEY_PROVIDER);

代わりは?

ベストプラクティスは何ですか?ありがとう!

4

1 に答える 1

1

インターフェイスProvidesKeyは、オブジェクトを識別するためにクライアント側(GWT)でのみ使用されます。CellTableこれは、リスト内のどのオブジェクトが選択されているかを知るため、および/内の別の行を手動で選択するためにも重要ですCellList

実装を指定しない場合ProvidesKey、CellWidgetsはDTOのequals関数を使用して、それらが等しいかどうかをチェックします。オブジェクト自体が変更されると、問題が発生する可能性があります。したがって、実装を指定することは常に良い習慣であり、、、、またはカスタムデータプロバイダーを使用するProvidesKeyかどうかに依存しません。ListDataProviderAsyncDataProvider

ところでMyDataProvider、あなたの例には何がありますか?それはのサブクラスAsyncDataProviderですか?

于 2012-04-22T17:16:34.777 に答える