CurrencyField 货币输入

CurrencyField - 货币字段TextField 文本框 的子类型,专门用来输入货币值。Studio 生成界面代码时,为带有 @CurrencyValue 注解的属性默认使用该字段。在这个字段内部有个货币符号,数字默认是右对齐状态。

currency field

组件的 XML 名称:currencyField

基本用法

基本上,CurrencyFieldTextField 文本框 的功能是一样的。可以给这个字段手动设置一个 datatype,但是只支持下列类型:

  • decimal

  • int

  • long

  • double

  • float

CurrencyField 也可以通过 dataContainerproperty 属性绑定 数据容器

@JmixEntity
@Table(name = "UIEX1_PRODUCT")
@Entity(name = "UIEX1_Product")
public class Product {
    @JmixGeneratedValue
    @Column(name = "ID", nullable = false)
    @Id
    private UUID id;

    @Column(name = "PRICE", nullable = false)
    @CurrencyValue(currency = "USD")
    protected BigDecimal price;
    // ...
}
<data>
    <instance id="productDc"
              class="ui.ex1.entity.Product"
              fetchPlan="_base"/>
</data>
<layout>
    <currencyField id="priceField"
                   currencyLabelPosition="LEFT"
                   dataContainer="productDc"
                   property="price"/>
</layout>

属性

该组件有三个特殊属性:

  • currency - 定义作为货币符号的文本。

  • currencyLabelPosition - 设置组件内货币符号的位置,有下面两个值:

    • RIGHT - 在组件文字输入的右侧(默认值)。

    • LEFT - 在组件文字输入的左侧。

  • showCurrencyLabel - 定义是否需要显示货币符号。

<currencyField id="currencyField"
               currency="€"
               currencyLabelPosition="LEFT"
               showCurrencyLabel="true"/>

事件和处理器

如需使用 Jmix Studio 生成处理器的桩代码,需要在界面 XML 描述或者 Jmix UI 层级结构面板选中该组件,然后用 Jmix UI 组件面板的 Handlers 标签页生成。

或者可以使用界面控制器顶部面板的 Generate Handler 按钮。

ValueChangeEvent

参阅 ValueChangeEvent

ContextHelpIconClickEvent

Validator

参阅 Validator