1. 程式人生 > >Ext Js 3.2中Record的使用方法

Ext Js 3.2中Record的使用方法

先來了解Ext Js和SQL的不用語法:

   1:Ext Js語法

      var EmployeeRecord = new Ext.data.Record.create({

             {name: 'empId ', type: 'int'}

             {name: 'first', type: 'string'},

             {name: 'name', type': 'string'},

             {name: 'age', type: 'int'},

             {name: 'email', type: 'string'}

      });

    2: SQL語法

    create table EmployeeRecord {

          empId number(8),

          first varchar2(20),

          name varchar2(20),

          age number(8),

          email  varchar2(20)

   }

   從上面的情況下,Ext.data.Record其實就相當於表中的一行資料,而create方法中定義了欄位的型別就相當於表中的列,type就是表中的列型別。

  可以通過下面兩種方式來建立一行資料,而且可以對每行資料進行賦值

    (1)直接建立方式

           var empRecord = new EmployeeRecord({

                    first: 'first1',

                   name: '張三',

                   age: '20',

            });

          (2) 通過set方式建立

              var myRecord = new EmployeeRecord ();

               myRecord .set("first", "first1");

               myRecord .set("name", "張三");

              myRecord .set("age", "20");

   上述兩個例子使用了不同的方法進行儲存資料,下面使用兩種不同的方法讀取資料:

        employeeRecord.getField('first');

        employeeRecord.getField('name');

       employeeRecord.getField('age');

       employeeRecord.getField('email);

       myRecord.get('first');

       myRecord.get('name');

        myRecord.get('age');

        myRecord.get('email');

  3:Record屬性

名稱

型別

描述

dirty

Boolean

記錄資料是否修改過

editing

Boolean

記錄資料是否正在編輯狀態

modified

Object

儲存了一個數據欄位名稱和值的集合,用來儲存之前修改過的欄位名稱和值

 Ext.Data.Record是一個設定了內部資料型別的物件,它是Ext.data.Store的最基本組成部分。

      myRecord .set("first", "first1");

     在程式碼中,set方法會自動判斷屬性的值是否改變,如果改變,就將當前物件的dirty屬性設定為ture,並將修改之前的原始資料儲存到modified物件中,如果直接

使用data中的資料,那麼Record就無法記錄資料是否修改了。

    當Record中的屬性值被修改後,它將會執行以下幾個方法:

  •       commit(): 該方法是用來設定dirty為false的,並且刪除modified中儲存的原始資料內容。
  •       reject(): 該方法是用來恢復修改的內容為原始資料,並且將dirty設定為false, 且刪除原始的資料內容
  •       getChanges():  該方法是用來將data中修改過的內容和資料放入一個JSON物件中返回
  •       isModified():  判斷當前record內的資料是否被修改