<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-9  評論-168  文章-266  trackbacks-0
    1) // create 最基本建立Record和Store的方法
    var myStore = new Ext.data.Store();
    var TopicRecord = Ext.data.Record.create([
            {name: 'title', mapping: 'topic_title'},
            {name: 'author', mapping: 'username'},
            {name: 'totalPosts', mapping: 'topic_replies', type: 'int'},
            {name: 'lastPost', mapping: 'post_time', type: 'date'},
            {name: 'lastPoster', mapping: 'user2'},
            {name: 'excerpt', mapping: 'post_text'}
    ]); // 列表影射,columnModel
    var myNewRecord = new TopicRecord({
            title: 'Do my job please',
            author: 'noobie',
            totalPosts: 1,
            lastPost: new Date(),
            lastPoster: 'Animal',
            excerpt: 'No way dude!'
    }); // 實際的一條記錄
    myStore.add(myNewRecord);

    2) // 這種方法也可以構建一個store
    var store = new Ext.data.SimpleStore({
            fields: ['abbr', 'state', 'nick'], // 一定要有這個,如果放在grid中,與column的dataIndex屬性值對應
            data : [
            ['AL', 'Alabama', 'The Heart of Dixie'],
            ['AK', 'Alaska', 'The Land of the Midnight Sun'],
            ['IN', 'Indiana', 'The Hospitality State']
            ]
    });

    3) 還有一個種方法,用ArrayReader,數據源是js二維數組,用SimpleStore
    var store = new Ext.data.SimpleStore({
            /*
            數據源:[ [1, 'AL', '0.1', 'The Heart of Dixie', '6', new Date()] ]
            ArrayReader中, ajax會返回一個數據源給ArrayReader,
                    fields數組與數據源的序列的順序要相同
            */
            fields: ['pid', 'company', 'price', 'change', 'pctChange', 'lastChange'],
            url: 't2.php',
            reader: new Ext.data.ArrayReader(
                    {id: 0},
                    /*
                    id 的取值應為下面的mapping的值,如果在下面沒有出現,則取數據源的0序列
                    ,recordid可通過store.getById(recordid) 取得相應的 Record
                    當有 id 這個屬性設置的時候,如果id值為2,就表示用price作recordid
                    , 如果 name 的值與數據源的序列的名稱相同,就可以不指定mapping
                    */
                    [{name:'company',mapping: 1}, {name:'price',mapping: 2}, {name:'change',mapping: 3}, {name:'pctChange',mapping: 4}, {name:'lastChange',mapping: 5}]
                    )
    });
    // 因為使用url會觸發ajax, 是異步方式,如果是要ajax讀取數據后馬上觸發事件,
    // 必須添加load事件的監聽
    store.addListener('load', function(st, rds, opts) {
            // st 是當前的store, rds是讀到的Record[], opts是store的配置
            //alert(rds.getTotalCount());
            nextstore.removeAll(); //先清除另一個store的內容
            nextstore.add(rds); // 給另一個store添加這些records
            //for( var c=0; c<rds.length; c++ ) store.addSorted(rds[c]);
    });
    store.load();

    4) 還有一個種方法,用XmlReader,數據源是xml, 只能用Ext.data.Store,不能用SimpleStore
    就因為SimpleStore,害我搞了n久才發現只能用Store
    先看數據源:
    <?xml?>
    <dataset>
    <results>2</results>
    <row>
       <id>1</id>
       <name>Bill</name>
       <occupation>Gardener</occupation>
    </row>
    <row>
       <id>2</id>
       <name>Ben</name>
       <occupation>Horticulturalist</occupation>
    </row>
    </dataset>
    js:
    var store = new Ext.data.Store({
            fields: ['id', 'name', 'occupation'],
            url: 't2.php',
            reader: new Ext.data.XmlReader(
                    {
                    record: "row", // xml中每行數據的內容
                    totalRecords: "results", // xml中的results節點,表時記錄數 (option)
                    id: 'id'
                    // 每行數據的素引,xml中是row標簽的子節點, 作recordid, (option),
                    // 如果id列在數據源中的值有重復,就只會顯前面的列,后面的放棄.
                    },
                    /*
                    id 的取值應為下面的mapping的值,如果在下面沒有出現,則取數據源的0序列
                    當有 id 這個屬性設置的時候,如果id值為2,就表示用price作recordid
                    下面的mapping,是定義的素引與xml中的節點對應
                    , 如果 name 的值與數據源的序列的名稱相同,就可以不指定mapping
                    */
                    [{name:'name',mapping: 'name'}, {name:'occupation'} ]
                    // 這里也可寫成 ['id', 'name', 'occupation']
            )
    });
    // 因為使用url會觸發ajax, 是異步方式,如果是要ajax讀取數據后馬上觸發事件,
    // 必須添加load事件的監聽
    store.addListener('load', function(st, rds, opts) {
            // st 是當前的store, rds是讀到的Record[], opts是store的配置
            //alert(rds.getTotalCount());
            nextstore.removeAll(); //先清除另一個store的內容
            nextstore.add(rds); // 給另一個store添加這些records
            //for( var c=0; c<rds.length; c++ ) store.addSorted(rds[c]);
    });
    store.load();

                                                         ----------------http://cwq.jsp-tech.cn/2008/04/extjsrecordstore.html
    posted on 2008-09-18 15:34 紫蝶∏飛揚↗ 閱讀(5099) 評論(2)  編輯  收藏 所屬分類: EXTJS

    評論:
    # re: [轉]Ext.data.Store Ext.data.Record XmlReader SimpleStore 2008-10-09 18:43 | cwq
    http://cwq.jsp-tech.cn/2008/04/extjsrecordstore.html
    麻煩鏈接加上A標簽可以嗎,

    可以交換友鏈嗎?  回復  更多評論
      
    # re: [轉]Ext.data.Store Ext.data.Record XmlReader SimpleStore 2010-04-16 13:53 | Stan
    I'm interested in your posts.
    I want you to translate this post into English.
    Can you...?  回復  更多評論
      
    主站蜘蛛池模板: 国产精品无码免费视频二三区| 免费看又黄又无码的网站| 亚洲成AV人片在WWW| 亚洲精品国产高清在线观看| 最新中文字幕免费视频| 日韩免费a级在线观看| 国产亚洲色婷婷久久99精品| 亚洲国产综合人成综合网站00| 无码亚洲成a人在线观看| 男女一边桶一边摸一边脱视频免费| 麻豆亚洲AV成人无码久久精品| jyzzjyzz国产免费观看| 久久久久久久99精品免费| 国产一区二区三区免费看| 久久久亚洲欧洲日产国码aⅴ | 亚洲国产综合第一精品小说| 四虎最新永久免费视频| 亚洲精品亚洲人成在线观看下载 | 四虎1515hh永久久免费| 亚洲大香人伊一本线| 最近2019中文字幕免费看最新 | 久久久青草青青亚洲国产免观| 亚洲AV无码无限在线观看不卡 | 日韩一级免费视频| 麻豆一区二区三区蜜桃免费| 最近高清中文字幕免费| 亚洲乱码无码永久不卡在线| 99re在线视频免费观看| 狠狠色伊人亚洲综合网站色| 国产三级免费电影| 黄色免费在线网站| 国产啪亚洲国产精品无码| 亚洲国产精品ⅴa在线观看| 亚洲国产精品一区二区第四页| 亚洲国产高清国产拍精品| 亚洲国产综合无码一区二区二三区| 国产福利电影一区二区三区,免费久久久久久久精 | 91免费播放人人爽人人快乐| 久久精品亚洲中文字幕无码网站| 免费人成视频在线播放| 久久久久亚洲精品中文字幕|