【问题标题】:Clear the renderer from a Grid column in Vaadin 8.1从 Vaadin 8.1 中的 Grid 列中清除渲染器
【发布时间】:2017-09-11 22:51:15
【问题描述】:

Vaadin Framework 8.1 应用程序中,在Grid 小部件上,设置后如何清除column renderer

我们可以通过调用setRendererGrid.Column 上设置渲染器。如何取消设置?

传递null会导致空指针异常:

java.lang.NullPointerException: 渲染器不能为空

设置渲染器之前的默认行为似乎只是在列的对象上调用toString

➟ 如何恢复到默认行为?

【问题讨论】:

  • 清除渲染器的用例是什么?还是在创建列后更改渲染器?
  • @SteffenHarbich 用户想要更改他们的数据视图。在日期时间值上切换时区,或跨货币转换货币,或舍入数字以便于扫描而不是显示精确数量以获得准确性,或以科学记数法显示数字,或更改使用图标字符(如 RottenTomatoes.com 番茄)的方案-meter,然后继续。

标签: datagrid vaadin renderer vaadin8


【解决方案1】:

无法要求 Vaadin 恢复默认设置。

在设置新的渲染器之前,您可以要求现有的默认渲染器。

Renderer<?> r = this.columnInstant.getRenderer() ;

然后再重新申请。

myGridColumn.setRenderer( r ) ;

通常,默认渲染器是com.vaadin.ui.renderers.TextRenderer。如果这比保留对旧的引用更方便,您可以实例化一个新的。

myGridColumn.setRenderer( new com.vaadin.ui.renderers.TextRenderer() ) ;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-22
    • 1970-01-01
    • 1970-01-01
    • 2012-01-02
    相关资源
    最近更新 更多