我正在修复我们的应用程序中的 UI 错误,现在我遇到了 DynamicForm 上的多个 SelectItem 的问题。
正如我们所知,如果pickList 的宽度未设置SmartGwt 调整pickList 宽度以适合内容。问题是当一个 SelectItem 的内容比其他内容更宽时。例如,我们有 2 个 SelectItem,第一个 SelectItem 的内容宽度小于第二个。重现此问题的步骤:
- 使用宽度最小的内容打开第一个 SelectItem - pickList 的宽度与内容一样
- 打开第二个 SelectItem ,其内容大于前一个 - pickList 的宽度与内容一样
- 再次打开第一个 SelectItem - 现在 pickList 的宽度与第二个 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);
}
提前感谢您的回答。