3.5.2.1.47. 时间组件

TimeField 是用来显示和输入时间的组件。

gui timeField

组件的 XML 名称: timeField

  • 要创建关联数据的时间组件,应该使用数据容器property 属性:

    <data>
        <instance id="orderDc" class="com.company.sales.entity.Order" view="_local">
            <loader/>
        </instance>
    </data>
    <layout>
        <timeField dataContainer="orderDc" property="deliveryTime"/>
    </layout>

    如同上面的示例,在界面描述中为实体 Order 定义了数据容器 orderDc ,实体具有 deliveryTime 属性。时间输入组件的 dataContainer 属性包含到数据容器的连接, property 属性 – 设置要显示在时间字段中的实体属性名称。

    关联的实体属性类型应该是 java.util.Datejava.sql.Time 类型。

  • 如果该控件不与实体属性相关联(比如没有设置数据容器和属性名称),可以使用 datatype 属性设置数据类型。 TimeField 使用如下数据类型:

    • localTime

    • offsetTime

    • time

  • 时间格式通过 time 数据类型定义,并且在主本地化消息包中通过 timeFormat 键指定。

  • 时间格式也可以通过 timeFormat 属性指定,属性值可以是一个格式化字符串,或者是消息包中的键名(前缀:msg:// )。

  • 无论上面提到的属性如何设置,都可以通过 showSeconds 属性控制是否显示秒。默认情况下,如果时间格式中包含 ss,则显示秒。

    <timeField dataContainer="orderDc" property="createTs" showSeconds="true"/>
    gui timeFieldSec