ExtJS笔记 Ext.data.Types

This is a static class containing the system-supplied data types which may be given to a Field.

Types是一个静态类,包含将用在Field的,系统提供的数据类型。

The properties in this class are used as type indicators in the Field class, so to test whether a Field is of a certain type, compare the type property against properties of this class.

此类中的属性会被用作Field中的类型指示器,因此,如果要测试一个字段是否某个特定类型,可将其type属性与Types类的属性来比较。

Developers may add their own application-specific data types to this class. Definition names must be UPPERCASE. Each type definition must contain three properties:

开发者可以添加它们自定义的类型到这个类中。名称必须大写。每个类型定义必需包含三个属性:

  • convert : Function  转换函数
    A function to convert raw data values from a data block into the data to be stored in the Field. The function is passed the collowing parameters:此函数转数据块中的原始数据到Field字段。函数会被传入两个参数:

    • v : Mixed
      The data value as read by the Reader, if undefined will use the configured defaultValue. 被reader读取的数据,如果未定义则使用defaultValue
    • rec : Mixed
      The data object containing the row as read by the Reader. Depending on the Reader type, this could be an Array (ArrayReader), an object (JsonReader), or an XML element.  reader读取到的当前行数据对象。依赖reader的类型,这可以是一个数组(ArrayReader),对象 (JsonReader),或者xml 元素。
  • sortType : Function  排序类型
    A function to convert the stored data into comparable form, as defined by Ext.data.SortTypes.  一个函数,将数据转换为可比较的形式,详见 Ext.data.SortTypes.

  • type : String  类型
    A textual data type name.   文本形式的类型名称。

For example, to create a VELatLong field (See the Microsoft Bing Mapping API) containing the latitude/longitude value of a datapoint on a map from a JsonReader data block

which contained the properties lat and long, you would define a new data type like this:

例如,我们创建一个VELatLong 字段(参考 Microsoft Bing Mapping API)包含地图上一个数据点的经度/维度值,数据来自JsonReader 的数据块,包含了lat和long属性。对此,你可以定义一个如下的新数据类型:

// Add a new Field data type which stores a VELatLong object in the Record.
Ext.data.Types.VELATLONG = {
    convert: function(v, data) {
        return new VELatLong(data.lat, data.long);
    },
    sortType: function(v) {
        return v.Latitude;  // When sorting, order by latitude
    },
    type: 'VELatLong'
};

 

Then, when declaring a Model, use:

然后,我们定义一个模型来使用:

var types = Ext.data.Types; // allow shorthand type access
Ext.define('Unit',
    extend: 'Ext.data.Model',
    fields: [
        { name: 'unitName', mapping: 'UnitName' },
        { name: 'curSpeed', mapping: 'CurSpeed', type: types.INT },
        { name: 'latitude', mapping: 'lat', type: types.FLOAT },
        { name: 'longitude', mapping: 'long', type: types.FLOAT },
        { name: 'position', type: types.VELATLONG }
    ]
});

 

数据类型

This data type means that no conversion is applied to the raw data before it is placed into a Record.不会发生转换

This data type means that the raw data is converted into a boolean before it is placed into a Record. ...   
 
This data type means that the raw data is converted into a boolean before it is placed into a Record. ...
 
This data type means that the raw data is converted into a Date before it is placed into a Record. ...
 
This data type means that the raw data is converted into a number before it is placed into a Record. ...
 
This data type means that the raw data is converted into an integer before it is placed into a Record. ...
 
This data type means that the raw data is converted into an integer before it is placed into a Record. ...
 
This data type means that the raw data is converted into a number before it is placed into a Record. ...
 

This data type means that the raw data is converted into a String before it is placed into a Record.

 
A regular expression for stripping non-numeric characters from a numeric value. ...
posted @ 2015-02-10 16:12  jim.cheng  阅读(439)  评论(0编辑  收藏  举报