アプリケーションの UI バグを修正していますが、DynamicForm で複数の SelectItem の問題が発生しています。
ご存知のように、pickList の幅が設定されていない場合、SmartGwt は pickList の幅をコンテンツに合わせて調整します。問題は、ある SelectItem のコンテンツが他のコンテンツよりも広い場合です。たとえば、2 つの SelectItem があり、最初の SelectItem のコンテンツの幅が 2 番目の SelectItem よりも小さいとします。この問題を再現する手順:
- 最小幅のコンテンツで最初の SelectItem を開きます - pickList の幅はコンテンツと同じです
- 2 番目の SelectItem を前のものよりも大きいコンテンツで開きます - pickList の幅はコンテンツと同じです
- 最初の SelectItem を再度開きます - pickList の幅は 2 番目の SelectItem の pickList と同じになります
問題は、SmartGwt に各 SelectItem の pickList の幅を個別に再計算させる方法です。
いくつかのコード例:
// Constructor of our DynamicForm
public PriceItemFilterForm(DataSource datasource) {
// SelectItem with content with the smallest width
SelectItem priceItemType = new SelectItem(PRICE_ITEM_TYPE_NAME,
toolMessages.priceItemTypeFilterTitle());
// Second SelectItem with content with bigger with than previous one
SelectItem evalTimeType= new SelectItem(EVAL_TIME_NAME,
toolMessages.evaluationTimeFilterTitle()){
@Override
protected String getLocalizedMessage(String text) {
return toolConstants.getString(text);
}
};
evalTimeType.setStartRow(true);
setFields(priceItemType, evalTimeType);
}
回答ありがとうございます。