【问题标题】:Enable wordwrap (multiline) in vaadin grid在 vaadin 网格中启用自动换行(多行)
【发布时间】:2016-12-21 18:20:55
【问题描述】:

我正在尝试基于 Vaadin 网格组件实现表格。某些字段包含大量文本,并且在这种情况下,网格总是显示单行而不是多行。

我尝试根据vaadin forum 的一些想法修改 CSS,但我得到了相同的结果。同样在网格标题的情况下,它会显示带有省略号的单行。

请提供任何解决方法的想法吗?

【问题讨论】:

    标签: vaadin vaadin4spring vaadin-grid


    【解决方案1】:

    Grid 从客户端管理这种样式,我们不能也不应该直接控制它。

    但 Grid 组件提供了一种显示隐藏数据或 详细信息的方法,DetailsGenerator

    但是,对于标题,我们无能为力,因为唯一的解决方案是使标题尽可能小且具有描述性。但我仍然认为标题上的自动换行看起来不太好。

    以下示例管理项目选择细节的可见性,

    Grid g = new Grid();
    g.addColumn("num");
    g.addColumn("val");
    
    g.setWidth(400, Unit.PIXELS);
    g.setHeight(300, Unit.PIXELS);
    
    g.getColumn("num").setWidth(100);
    g.getColumn("val").setWidth(300);
    
    g.addRow("1", "This is just a simple test. No need to take it too seriously, please !!!!");
    g.addRow("2", "This is just a simple test. No need to take it too seriously, please !!!!");
    g.addRow("3", "This is just a simple test. No need to take it too seriously, please !!!!");
    g.addRow("4", "This is just a simple test. No need to take it too seriously, please !!!!");
    
    g.addItemClickListener(new ItemClickListener() {
    
        /**
         * 
         */
        private static final long serialVersionUID = 1L;
    
        @Override
        public void itemClick(ItemClickEvent event) {
            g.setDetailsVisible(event.getItemId(), !g.isDetailsVisible(event.getItemId()));
        }
    });
    
    g.setDetailsGenerator(new DetailsGenerator() {
    
        /**
         * 
         */
        private static final long serialVersionUID = 1L;
    
        @Override
        public com.vaadin.ui.Component getDetails(RowReference rowReference) {
            String value = (String)rowReference.getItem().getItemProperty("val").getValue();
            Label val = new Label();
            val.setValue(value);
            val.addStyleName(ValoTheme.LAYOUT_HORIZONTAL_WRAPPING);
            return val;
        }
    });
    

    【讨论】:

    • 感谢您的回答!我曾尝试实现类似的东西,但在我的表 12 列中,其中一些应该是多行的,并且使用详细信息生成器看起来有点奇怪。你也很难过,标题中的 mutline 看起来不太好,我同意你的观点,但使用真实数据,而不是带有名称/值的示例或展示,由业务引起的列名,所以你不能只更改它们。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-17
    • 1970-01-01
    • 1970-01-01
    • 2019-01-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多