如何在Eclipse Scout中使用bsi-software的TableSmartField组件?
Eclipse Scout 23.2.15 用 TableSmartField 替代 ContentAssistFieldTable 的实现步骤
1. 添加Maven依赖
直接在项目的pom.xml中添加BSI Scout JS Widgets的依赖,版本要和你的Scout版本(23.2.15)保持一致:
<dependency> <groupId>com.bsiag.scout.rt.ui.html</groupId> <artifactId>scout-jswidgets</artifactId> <version>23.2.15</version> </dependency>
同步Maven后,相关前端资源会自动引入,不需要手动操作node_modules。
2. 直接使用TableSmartField,无需自定义模板类
不需要自行创建模板类,直接在表单或页面中实例化TableSmartField并配置即可。示例代码如下:
public class MyTableSmartField extends TableSmartField<MyEntity> { @Override protected void execInitField() { super.execInitField(); // 配置表格列 addColumn(new StringColumn() { @Override protected String getConfiguredHeaderText() { return "名称"; } @Override protected Class<?> getConfiguredDataType() { return String.class; } @Override protected Object execGetValueFromRow(MyEntity row) { return row.getName(); } }); addColumn(new IntegerColumn() { @Override protected String getConfiguredHeaderText() { return "编号"; } @Override protected Class<?> getConfiguredDataType() { return Integer.class; } @Override protected Object execGetValueFromRow(MyEntity row) { return row.getId(); } }); // 设置数据源 setLookupCall(new MyEntityLookupCall()); } }
功能说明(参考原文档翻译)
TableSmartField是SmartField的增强组件,专为在下拉面板中展示多列数据设计,完美替代已移除的ContentAssistFieldTable。它支持:
- 自定义表格列的显示、排序、过滤规则
- 与Scout现有数据绑定、Lookup机制无缝兼容
- 保留SmartField核心交互逻辑的同时,扩展多信息展示能力
内容的提问来源于stack exchange,提问作者FelixFeuerdorn
相关产品推荐
相关产品推荐

