想分类展示详情
只需要在渲染器生成 TabSheet
的组件就可以:
@ViewComponent
private DataGrid<Pet> petsDataGrid;
@Autowired
private UiComponents uiComponents;
@Subscribe
public void onInit(final InitEvent event) {
petsDataGrid.setItemDetailsRenderer(
new ComponentRenderer<>(pet->{
var tabSheet = uiComponents.create(TabSheet.class);
tabSheet.setThemeName("bordered small");
var span = uiComponents.create(Span.class);
span.setText(pet.getName());
tabSheet.add("Main",span);
span = uiComponents.create(Span.class);
span.setText(pet.getFood());
tabSheet.add("Food",span);
return tabSheet;
})
);
}
效果:
这个只能展示text,我想展示条目详情
我渲染tabsheet后没有数据
字段名都没有
这里应该怎么渲染?
还有请问详情展示都是 textField 可以改成textArea吗
你贴的逻辑,只是创建了 UI 组件,并没有给 UI 组件设置值。如果你看的是 Jmix Sample,那么你要注意sample 里面的这个代码,这里是给组件设置值的:
内部组件你可以根据需要创建,textArea 是可以用的。