【问题标题】:setColumnWidth() doesn't seem to worksetColumnWidth() 似乎不起作用
【发布时间】:2011-12-07 13:44:24
【问题描述】:

我正在 Vaadin 框架中开发一个 web 应用程序。 我有一个 14 列的表。最后一列包含三个图标,我遇到的一个问题是,在呈现表格的一半时间里,最右边的图标将被垂直“切成两半”。为了避免这个问题,我尝试为该列设置一个固定宽度,我认为这会消除该问题,但是,没有任何反应..

我使用的是常规方法:

simCardTable.setColumnWidth(actionColumn, 135);

但是,无论我将列宽设置为什么值,列都保持不变...有谁知道这是为什么?是不是因为它是要添加的最后一列,因此没有多余的空间..?

顺便说一句,这是我设置特定宽度的唯一列,所有恢复列都具有由列标题或单元格内容的宽度指定的标准宽度。

任何帮助将不胜感激!

【问题讨论】:

  • @SamCasil 不,我没有。没有真正看到这一点,因为根本没有对应该产生影响的价值观做出任何回应。现在尝试只是为了踢球,正如预测的那样,它没有任何区别

标签: java vaadin column-width


【解决方案1】:

我从您的问题中了解到(“最后一列包含三个图标”),您使用 ColumnGenerator 创建带有图标的最后一列。如果我是对的,这意味着您创建了某种带有此图标的自定义布局,在这种情况下,您应该这样做:

final ColumnGenerator generator = new ColumnGenerator() {
            private static final long serialVersionUID = 1L;

            @Override
            public Component generateCell(Table source, final Object itemId, Object columnId) {
                final HorizontalLayout layout = new HorizontalLayout();
                layout.setSizeFull();

                Embedded icon1 = new Embedded();
                Embedded icon2 = new Embedded();
                Embedded icon3 = new Embedded();

                //Add some themeresource to embedded components

                //Do some listners to this icons

                layout.addComponent(icon1);
                layout.addComponent(icon2);
                layout.addComponent(icon3);

                //Set column with
                setColumnWidth(columnId, 100);

                return  layout;
                }
            };

【讨论】:

  • 嗯...这是一个有趣的想法!明天上班的时候我会试试的! =)
  • 我所做的是为包含图标的布局设置了一个宽度,这与您推荐的几乎相同! =)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-11-29
  • 2016-02-01
  • 2020-09-23
  • 2010-12-05
  • 2011-06-14
  • 2015-01-10
  • 2016-02-24
相关资源
最近更新 更多