标签: vaadin7

如何使用包装器从表中的TextField验证整数

我有一个表,我正在使用createField()来创建字段.在编辑模式下,用户可以在字段中输入文本.

此表中的一列应该只允许整数,因此我使用的是IntegerRangeValidator.

验证应该是动态的(按类型),如果输入验证为false,则应显示一个小的红色感叹号,工具提示应该说"仅允许整数!".为了能够显示这些感叹号并进行动态验证,我需要使用一个每200ms监听textChanges的包装器.

问题是TextField返回一个String,因此验证器将所有内容解释为字符串,即使用户在字段中键入了一个整数.

在Vaadin 7中 - 当在包装器中的重写textChange-method中执行验证时,如何从表内的TextField验证整数?

createField方法:

@Override
public Field<?> createField(Container container, Object itemId, Object propertyId, com.vaadin.ui.Component uiContext) {

    TextField tField = null;

    tField = (TextField) super.createField(container, itemId, propertyId, uiContext);
    tField.setBuffered(true);
    addFieldListeners(tField);

    if (propertyId.equals("age") {
        tField.setRequired(true);
        tField.setRequiredError("This field is required!");
        // tField.setConverter(new StringToIntegerConverter()); <-- I also tried this, without success
        tField.addValidator(new IntegerRangeValidator("Only Integers allowed!", 1, 150));
        @SuppressWarnings({ "unchecked", "rawtypes" })
        TableDataValidatingWrapper<TextField> wField = new TableDataValidatingWrapper(tField);
        return wField;
    } else {
        return null;
    }
}
Run Code Online (Sandbox Code Playgroud)

包装:

public class TableDataValidatingWrapper<T> …
Run Code Online (Sandbox Code Playgroud)

vaadin vaadin7

5
推荐指数
2
解决办法
9045
查看次数

OptionGroup水平?

我正在尝试更改OptionGroup以显示Horizo​​ntal.在vaadin7书中有一个用CSS改变的例子,但不起作用.

我正在尝试这个.

//styles.scss
/** optiongroup */
/* Lay the options horizontally */
.v-select-optiongroup-horizontal .v-select-option {
    display: inline-block;
}
/* Avoid wrapping if the layout is too tight */
.v-select-optiongroup-horizontal {
    white-space: nowrap;
}
/* Some extra spacing is needed */
.v-select-optiongroup-horizontal .v-select-option.v-radiobutton {
    padding-right: 10px;
}
Run Code Online (Sandbox Code Playgroud)


//Here the OptionGroup
OptionGroup optionGroup = new OptionGroup();
optionGroup.addItem("Usuário");
optionGroup.addItem("Representante");
Run Code Online (Sandbox Code Playgroud)

任何的想法?

java frameworks vaadin vaadin7

5
推荐指数
1
解决办法
3147
查看次数

BeanFieldGroup与ComboBox?

我正在尝试在我的应用程序中使用BeanFieldGroup创建一个ComboBox组件,但仍然无法做到这一点.我尝试先创建一个组合框,然后在buildAndBind中添加这个组合框,但也不起作用.

我正在尝试这个:

/** person's bean */
@Entity
public class Person{

@Id
@GeneratedValue
private Integer id;

@NotNull
@NotEmpty
@Size(min=5, max=50, message="insert first name")
private String firstName;

@NotNull
@NotEmpty
@Email private String email;

//female or male
private String gender;

//get and set
}

/** app */
public class PersonView extends CustomComponent{
private final BeanFieldGroup<Person> binder = new BeanFieldGroup<Person>(Person.class);
private Person bean = new Person();

    private ComboBox gender;

    public PersonView(){
         VerticalLayout vLayout = new VerticalLayout();
         Field<?> field = null;
         field = binder.buildAndBind("Gender", "gender", …
Run Code Online (Sandbox Code Playgroud)

java vaadin7

5
推荐指数
1
解决办法
3863
查看次数

如何格式化vaadin中的表值?

如果我有一个具有BigDecimal属性的对象,我想Table用特定格式显示它:2个分数,并根据数量使用"+"或" - "符号.

如:+10.50,-3.20

如何在vaadin表中实现这一目标?有一种方法table.setConverter(..),但这实际上会强制在例如a BigDecimal.class和a 之间进行转换String.class.我更喜欢的只是一个视图格式化程序,它只是以不同的方式显示对象数据.

java vaadin vaadin7

5
推荐指数
2
解决办法
5236
查看次数

Vaadin表列标题的工具提示

我可以在Vaadin 表中的列标题中添加工具提示吗?

动机

表列通常缩写为适合其行内容的宽度.对于用户来说,如果列标题的全长版本可以作为工具提示呈现,那将是很好的.

对于按钮和标签等,我可以调用setDescription为自动工具提示指定文本.有没有办法为Table标题执行此操作?

类似的讨论

我找到了这个问题,用于向行和单元格添加工具提示.

我发现这个Vaadin论坛在一个表头中的图标上发布了一些用于工具提示的HTML.但是我想在标题上只是一个简单的工具提示,并且没有找到这样的信息.

我看了表页面Vaadin之书.

假设没有此类功能可用,我已提交此功能请求#14419.

java vaadin7

5
推荐指数
0
解决办法
1549
查看次数

Vaadin 7会议ID

Vaadin 7是否提供某种会话标识符?我想跟踪每个会话的一些用法.

我查看了文档,VaadinSession但没有发现任何问题.

我想我可以通过生成一个UUID并通过调用将它附加到VaadinSession来自行滚动setAttribute.但是如果Vaadin给我一个标识符就没有必要了.

java session vaadin vaadin7

5
推荐指数
1
解决办法
2704
查看次数

Vaadin Grid:显示所有行

如何使GridVaadin 7中的新窗口小部件显示所有数据行(而不是滚动)?

vaadin vaadin7 vaadin-grid

5
推荐指数
1
解决办法
5055
查看次数

如何在vaadin网格中显示复选框而不是布尔值?

我试图将我的布尔值显示为vaadin网格中的复选框。我无法使用多选模式,因为我需要两列带有复选框。Checkboxes外壳程序的列具有标题,但是Checkboxes本身的外壳没有标题。有人有主意吗?

vaadin vaadin7 vaadin-grid

5
推荐指数
3
解决办法
5705
查看次数

Vaadin 7使用Maven构建,如何防止style.css总是被重新生成

我使用vaadin 7并使用maven构建它.

有一个名为'the_name_of_myProject'/ src/main/webapp/VAADIN/themes/mytheme/styles.css的CSS文件如果我以任何方式修改它,我的修改将被下一个maven构建覆盖.看起来总是从jar重新生成文件.

如果我希望这些修改能够存活,我该怎么办?

我用不同的名称创建了自己的主题,但它也没有帮助,因为它的.css以相同的方式被覆盖.

任何建议表示赞赏.

css vaadin maven vaadin7

4
推荐指数
1
解决办法
1045
查看次数

Vaadin Elements是否意味着与Vaadin框架一起使用?

Vaadin似乎正在向两个方向发展:

  • Vaadin框架(Java - 服务器端)
  • Vaadin Elements(Javascript - 客户端)

它们是打算现在一起使用还是将来使用?或者只是2个独立的,不相关的产品?

例如,Vaadin网格元素(不要与Vaadin 7的Java Grid混淆)是否意味着在'Java-land'中使用?

我找到了这个服务器端元素帖子,它讲述了从服务器端创建/操作Javascript Web组件.这是我们打算使用的吗?或者是否有其他东西来简化Java中的组件使用?

..我觉得我错过了什么.

javascript java vaadin vaadin7 vaadin-elements

4
推荐指数
1
解决办法
761
查看次数