EXT.JS 學習筆記

store.loadData()

loadData(object data, [Boolean append])從本地JavaScript變量中讀取數據,append爲true時,將讀取的數據附加到原數據後,否則執行整體更新,如下面的代碼所示。 
1.   store.loadData(data, true); 

store. Filter();

爲store加載數據之後,有時不需要把所有數據都顯示出來,這時可以使用函數filter和filterBy對store中的數據進行過濾,只顯示符合條件的部分,如下面的代碼所示。 
1.   filter( String field, String/RegExp value, [Boolean anyMatch], [Boolean caseSensitive] ) : void  

filter()函數的用法與之前談到的find()相似,如下面的代碼所示。 
1.   store.filter(‘name’, ‘boy’);  

對應的filterBy()與findBy()類似,也可以在自定義的函數中實現各種複雜判斷,如下面的代碼所示。

 

  store.filterBy(function(record) {   
      return record.get('name') == 'girl' && record.get('sex') == 1;  
 });  123

如果想取消過濾並顯示所有數據,那麼可以調用clearFilter()函數,如下面的代碼所示。 
1.   store.clearFilter();  

如果想知道store上是否設置了過濾器,可以通過isFiltered()函數進行判斷。
 

grid模塊:

獲取grid 對象:

var grid = Ext.getCmp("DisciplinaryActionGrid");

    var sm = grid.getSelectionModel(); //當前被選中的對象

sm.hasSelection()  // boolen值,true等於有被選中的行,反之FALSE

sm.lastActive //當前被選中的行數,從0開始

Var selectRows = grid.getSelectionModel().getSelections();

selectRows[0].get(“gird中某列的dataIndex屬性值”)        //取選中行記錄的某列的值,實際值

 

(3)grid.selModel.selections.items;              //得到選擇所有行

 

(4)grid.getSelectionModel().getSelected();      //得到選擇行的第一行


    var view = grid.getView();//grid 外在表現,非實際值表現,經過處理後顯示的

getCell(3,3).outerText; 獲得第四行第四列的表現值

var mygrid = Ext.GridPanel({....});
var total = mygrid.getStrore().getCount();//數據行數
for(var i=0;i<total;i++){
alert(mygrid.getStrore().getAt(i))//每行records對象
//alert(mygrid.getStrore().getAt(i).data['abc'])//對應每行dataIndex爲abc的值
}

grid 第一次加載時調用指定函數

Ext.onReady(function() {
        var firstload = true;
        var pgrid = Ext.getCmp("TrainingInfoGrid");
        var dstore = pgrid.getStore();
        dstore.on({
            load : {
                fn : function() {
                    if (firstload) {
                        $h.selectGridRow('TrainingInfoGrid', 0);
                        firstload = false;
                    }
                }
            },
            scope : this
        });
        
    });

//清空列表排序

    var grid = Ext.getCmp('peopleInfoGrid');
    var store = grid.getStore();
    var sortInfo = store.sortInfo;
    store.sortInfo = null;
    $(".sort-asc").removeClass("sort-asc");
    $(".sort-desc").removeClass("sort-desc");

Tree:

<!-- 重寫ext tree 的雙擊事件,並不觸發展開  -->
<script type="text/javascript">
Ext.override(Ext.tree.TreeNodeUI, {
    onDblClick : function(e) {
        e.preventDefault();
        if (this.disabled) {
            return;
        }
        if (this.checkbox) {
            this.toggleCheck();
        }
        if (!this.animating && this.node.hasChildNodes()) {
            var isExpand = this.node.ownerTree.doubleClickExpand;
            if (isExpand) {
                this.node.toggle();
            }
            ;
        }
        this.fireEvent("dblclick", this.node, e);
    }
});

</script>

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章