EXT.JS 学习笔记

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/rxl2017/article/details/88799946

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 对象:

扫描二维码关注公众号,回复: 7562319 查看本文章

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>

猜你喜欢

转载自blog.csdn.net/rxl2017/article/details/88799946