Java Vaadin网格如何在列中包装长文本
我有一个7列的瓦丁网格:Java Vaadin网格如何在列中包装长文本,java,grid,vaadin,Java,Grid,Vaadin,我有一个7列的瓦丁网格: Grid grid = new Grid<>(); grid.setSizeFull(); grid.addColumn(User::getUserName).setCaption("Name").setExpandRatio(2); grid.addColumn(User::getLastName).setCaption("Last Name").setExpandRatio(1); grid.addColumn(
Grid grid = new Grid<>();
grid.setSizeFull();
grid.addColumn(User::getUserName).setCaption("Name").setExpandRatio(2);
grid.addColumn(User::getLastName).setCaption("Last Name").setExpandRatio(1);
grid.addColumn(User::getAge).setCaption("Age").setExpandRatio(2);
grid.addColumn(User::getWork).setCaption("Work").setExpandRatio(1);
grid.addColumn(User::getJobTitle).setCaption("Job Title").setExpandRatio(1);
grid.addColumn(User::getSalary).setCaption("Salary").setExpandRatio(1);
grid.addColumn(User::getOther).setCaption("Other").setExpandRatio(1);
Grid Grid=new Grid();
grid.setSizeFull();
grid.addColumn(User::getUserName).setCaption(“Name”).setExpandRatio(2);
grid.addColumn(用户::getLastName).setCaption(“姓氏”).setExpandRatio(1);
grid.addColumn(User::getAge).setCaption(“Age”).setExpandRatio(2);
grid.addColumn(User::getWork).setCaption(“Work”).setExpandRatio(1);
grid.addColumn(用户::getJobTitle).setCaption(“职务”).setExpandRatio(1);
grid.addColumn(用户::getSalary.setCaption(“工资”).setExpandRatio(1);
grid.addColumn(用户::getOther.setCaption(“其他”).setExpandRatio(1);
我需要的是以一种方式设置列宽——所有7个列都将显示在屏幕上。
现在,我的代码的工作方式是,如果任何列单元格的文本内容很长,最后的列不会显示在屏幕上,屏幕必须水平滚动
我尝试使用方法setWidth()
,由于它采用像素值,网格视图在不同的浏览器和屏幕上可能会有所不同
我需要的是确保我的网格在不同的屏幕上以相同的方式显示,并且具有不同的单元格值 最近我遇到了同样的情况,这是我的解决方案: 网格配置
Grid<Item> gridItem = new Grid<>();
gridItem.setRowHeight(50.0);
gridItem.addComponentColumn(item -> {
Label label = new Label();
label.setValue(item.getText());
label.setWidthUndefined();
label.setStyleName(ValoTheme.LAYOUT_HORIZONTAL_WRAPPING);
return label;
})
.setCaption("Item")
.setWidth(380.0);
结果:
您的问题不在于列展开比,而在于如何环绕文本。请您进一步指定它好吗?如果文本较短,则展开比有效,它可以工作。如果文本太长,则展开比将中断。试着玩一下单元格的高度,看看它是否有用。幸运的是,我不能改变单元格的高度。我试过使用overflow:hidden,但效果不太好,谢谢。如果希望在单击小部件时可以选择行,则在列上调用setHandleWidgetEvents(true)也很有用。