CurrencyField 货币输入
CurrencyField - 货币字段
是 TextField 文本框 的子类型,专门用来输入货币值。Studio 生成界面代码时,为带有 @CurrencyValue
注解的属性默认使用该字段。在这个字段内部有个货币符号,数字默认是右对齐状态。
组件的 XML 名称:currencyField
。
基本用法
基本上,CurrencyField
跟 TextField 文本框 的功能是一样的。可以给这个字段手动设置一个 datatype,但是只支持下列类型:
-
decimal
-
int
-
long
-
double
-
float
CurrencyField
也可以通过 dataContainer
和 property
属性绑定 数据容器:
@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。
Validator
参阅 Validator。
CurrencyField XML 属性
可以使用 Studio 界面设计器的 Jmix UI 组件面板查看和编辑组件的属性。 |
align - box.expandRatio - buffered - caption - captionAsHtml - colspan - contextHelpText - contextHelpTextHtmlEnabled - conversionErrorMessage - css - currency - currencyLabelPosition - dataContainer - datatype - description - descriptionAsHtml - editable - enable - height - htmlSanitizerEnabled - icon - id - property - required - requiredMessage - responsive - rowspan - showCurrencyLabel - stylename - tabIndex - visible - width