表格视图——Ext.grid.GridView

Ext的表格控件都遵守MVC模型,Ext.data.Store可看做Model模型,Ext.grid.GridPanel中设置的各种监听器可看做Controller控制器,而Ext.grid.GridView对应的就是View视图。通常情况下,我们不需要创建Ext.grid.GridView的实例,Ext.grid.GridPanel会自动生成对应的实例,使用默认的样式将表格显示到页面上。当我们要操作Ext.grid.GridView的属性时,可以通过Ext.grid.GridPanel.getView()来获取当前表格使用的视图实例。

代码:

// 滚动到表格的顶部

    Ext.get("gridview-scroll-to-top").on("click",function() {

        grid1.getView().scrollToTop(); 

    });

 

    Ext.get("gridview-focus-cell").on("click",function() {

        //将焦点移到第3行第3个单元格

        grid1.getView().focusCell(2,2);

        //获取第3行第3个单元格

        var cell01 =grid1.getView().getCell(2,2);

        //设置第一个单元格的背景

        cell01.style.backgroundColor ='red';

        alert(cell01.innerText);

    });

显示效果:

 

从上面可以看出,与GridView相关的操作都集中在视图的显示功能部分。如果我们要对表格的显示效果进行调整,可以通过GridView进行设置,但是grid.getView()必须是创建完Ext.grid.GridPanel之后才能调用。如果我们希望在创建GridView时设置一些初始化参数,可以使用Ext.grid.GridPanelviewConfig参数,如下所示:

var grid1 =newExt.grid.GridPanel({

    title : '员工信息',

    renderTo : 'grid1',

    cm : cm,

    store : store,

    width : 700,

    height : 120,

    enableColumnMove : false,

    enableColumnResize : true,

    loadMask : true,

     viewConfig:{

        forceFit:true,//表格自动延伸每列的宽度,使之填满整个表格。

        getRowClass:function(record,rowIndex,p,ds){

            if (rowIndex %2 == 0) {

                return'oushu-row-color';

            }

            return'jishu-row-color';

        },

        columnsText:"显示的列",

        scrollOffset:30,//表格右侧为滚动条预留的宽度

        sortAscText:"升序",

        sortDescText:"降序"

    },

    autoExpandColumn : 'descn',

    //sm:sm,

    sm:newExt.grid.RowSelectionModel({

        singleSelect:true

    })

});

 

显示效果:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值