1. 程式人生 > >Ext.data.Record前臺的"資料庫行資料"

Ext.data.Record前臺的"資料庫行資料"

注:RecordStore之間存在交叉引用,不能直接序列化Record

//Record的建構函式
Ext.data.Record = function(data, id){
    //這裡沒有用Ext.id()方法,Ext..id()方法用於給UI層提供唯一id
    this.id = (id || id === 0) ? id : Ext.data.Record.id(this);
    this.data = data || {};
};
//靜態方法,返回Record子類的建構函式
Ext.data.Record.create = function(o){
    var f = Ext.extend(Ext.data.Record, {});
    var p = f.prototype;
	//新增一個xt.util.MixedCollection型別的例項屬性fields,
	p.fields = new Ext.util.MixedCollection(false, function(field){
        return field.name;
    });
    for(var i = 0, len = o.length; i < len; i++){
        p.fields.add(new Ext.data.Field(o[i]));
    }
    f.getField = function(name){
        return p.fields.get(name);
    };
    return f;
};
//手動新增資料
set : function(name, value){
        //根據是否為基本資料型別,選擇不同的編碼方式
        var encode = Ext.isPrimitive(value) ? String : Ext.encode;
        //如果data中已經有了這個key-value對,直接返回
        if(encode(this.data[name]) == encode(value)) {
            return;
        }        
        //髒資料標識
        this.dirty = true;
        //如果沒有modified,建立一個掛靠在此Record例項上的js物件
        if(!this.modified){
            //用來存放修改過的資料
            this.modified = {};
        }
       
        if(this.modified[name] === undefined){
            this.modified[name] = this.data[name];
        }
        
        this.data[name] = value;
        if(!this.editing){
            this.afterEdit();
        }
    },

  
   
   afterEdit  afterReject afterCommit都是私有方法(只是宣告為私有,用來被其他例項方法呼叫,主要和store聯動。來更新store對record的維護),不希望被重寫
   
   //回滾
   reject : function(silent){
        var m = this.modified;
        //從modifie物件裡的修改前的資料拿出來,重新放回data裡
        for(var n in m){
            if(typeof m[n] != "function"){
                this.data[n] = m[n];
            }
        }
        //髒資料false
        this.dirty = false;
        //刪除modifie物件
        delete this.modified;
        this.editing = false;
        if(silent !== true){
            this.afterReject();
        }
	},



相關推薦

Ext.data.Record前臺的"資料庫資料"

注:Record和Store之間存在交叉引用,不能直接序列化Record //Record的建構函式 Ext.data.Record = function(data, id){ //這裡沒有用Ext.id()方法,Ext..id()方法用於給UI層提供唯一id

spring data jpa專案資料庫資料被清空問題

問題:spring data jpa專案每次重啟後資料庫的資料都清空了 解決方法: <property name="hibernate.hbm2ddl.auto" value="create

extExt.data.JsonStore不自動獲取資料的問題記錄

昨天在一個專案當中發現ext的JsonStore在IE的某些狀況下並不能夠自動從後臺的Action獲取json資料,問題原因到現在也沒有查清楚。在本機的開發環境下對外發布服務一切正常,但是部署到公司的單元測試環境後,還是有些主機通過IE無法訪問(用其他的瀏覽器比如火狐很正常

Ext中Grid得到選擇資料的方法總結

 【允許轉載!但請註明出處!】 (1)grid.getStore().getRange(0,store.getCount());//得到grid所有的行 (2)grid.getSelectionModel().getSelections();//得到選擇所有行 注:如果不

oracle資料庫把某資料轉成一列資料

select running_time, running_user, algorithm_id, algorithm_list_id, name1, name2, ROWNUM, wm_concat(t

資料庫查詢資料並輸出到前臺頁面

<?php        //獲取資料庫中的所有留言           require_once("connect.php");   &nbs

YII2 一次性往資料庫插入多資料

/** * 插入統計資料 */ public static function insertCountData(array $InsertData) { $transition = Yii::$app->db->beginTransaction(); try

Dstream[Row] 資料批量匯入Mysql 並去重(大致為如果資料庫中有某資料了,本次執行若有一行與資料庫中的那相同,則不會再插入進去)

def Save2Mysql(stateDStream: DStream[Row]): Unit = { stateDStream.foreachRDD { rdd => { rdd.foreachPartition(partitionRecord

Sencha(Extjs) Ext.data.Store與Reader結合載入多重巢狀資料物件

Sencha(Extjs) Ext.data.Store與Reader結合載入多重巢狀資料物件 Ext.data.Readers常用於解析Model或Store中載入的資料,例如Ajax請求返回的資料(XML/JSON)。通過對每個Model的associations的屬性配置,Read

python pymysql 進行單行多,全部結果處查詢,以及資料庫單行,多資料插入問題

config.py # coding=utf-8 [config] ip=192.168.229.128 port=3306 user=root password=123456 db_name=betadb pymysql_demo.py # coding=utf-

預設選中ext:GridPanel第一資料

App.GridPanel1.getSelectionModel().select(0, true); 或者 App.GridPanel1.selModel.select(App.GridPanel1

Ext.data簡介(專門針對store和record已經collect()方法)

@@Ext.data.Record   Ext.data.Record就是一個設定了內部資料型別的物件,它是Ext.data.Store的最基本組成部分。如果把Ext.data.Store看作是一張二維表,那麼它的每一行就對應一個Ext.data. Record例項。   E

資料庫讀取資料如何讀取指定特定的幾(分頁時用)

 mysql 不支援top n的寫法 top n的寫法是sql server 和access的寫法 mysql 只支援 limit n的寫法 select * from table limit <offset>,<rows> offset為開始記錄索引

ssm框架資料庫資料前臺分頁顯示

jsp程式碼 <div class="m_connect_page"> <p>共<span style="font-size: 20px;">${pageUtil

mongodb基礎系列——資料庫查詢資料返回前臺JSP(一)

經過一段時間停頓,終於提筆來重新整理mongodb基礎系列部落格了。 同時也很抱歉,由於各種原因,沒有及時整理出,今天做了一個demo,來演示,mongodb資料庫查詢的資料在JSP顯示問題。 做了一個簡單的測試,不過基本上能滿足前臺展示的問題,若有問題,可以及時聯絡

Ext:GirdPanel獲取表內指定資料方法

前臺程式碼 在要某控制元件提交事件的標籤內,新增如下程式碼: <DirectEvents>     <Click OnEvent="btn_Click">          <ExtraParams>            <ext

ORACLE資料庫處理資料中的換

導語 將oracle資料庫的資料進行匯出時,資料中可能會存在換行符,導致一條資料被分割為兩段,在使用叢集環境等進行資料讀取時,就會產生錯誤。在不改變原有資料的基礎上,為了改善這個問題,可以使用以

資料庫將多資料合併為一行資料

先看資料庫: 假如我們執行這樣的語句 select * from sh_meetingservice where id in(1,2,3);結果如下會有多行 但是我們想要多行合併為一行,我們需要用到 for xml path select text+',' fr

Docker容器裏的進程為什麽要前臺

裏的 usr data net log pid 為什麽 clip web服務 《第一本Docker書》裏面,講到Docker容器啟動web服務時,都指定了前臺運行的參數,例如apache: [plain] view plain copy ENTRYP

四、資料庫資料型別

  首先補充點了解的小知識; select * from mysql.user #顯示出來亂了 select * from mysql.user\G #加了\G後一行一行顯示了 一、資料型別:分不同種類去存不同型別的資料 儲存引