0 0

extjs4 gridpanel里水平滚动在IE8上会遮住最后一条记录(Chrome不会出现这种情况,gridpanel.js文件如下)0

Ext.define('MyExt.widget.GridPanel',{
alias              : ['widget.gridPanel'],

extend        : 'Ext.grid.Panel',

alternateClassName : ['GridPanel'],

constructor        : function(config) {
Ext.apply(this,config);
//me = this;
this.init();
this.callParent();
},

id                 : 'gridPanel',

    title              : '列表',
   
    margin             : '20 20 20 20',

    autoHeight         : true,

    autoScroll : Boolean,
   
    frame              : true,

    collapsible        : true,

    columnLines        : true,
   
    loadMask           : true,
   
    iconCls            : 'icon-grid',
   
    isAdd              : true,
   
    isDelete           : true,
   
    pageSize           : UIConfig.GRID_PAGE_SIZE,
   
features           : [],

immediateLoad      : true,

addButtonText      : '新增',

delButtonText      : '删除',

    init               : function() {
    if (this.store == undefined) {
   this.initStore();
    }
    this.initFeatures();
this.initPageBar();
this.initDockedItems();
this.initSelModel();
},

initStore          : function() {
   this.store = Ext.create('Ext.data.Store',{
   id              : Ext.id(),
    pageSize        : this.page ? this.pageSize : 0,
    remoteSort      : false,
    autoLoad        : this.immediateLoad,
    fields          : this.fields,
    groupField      : this.groupField,
    proxy           : {
        type    : 'ajax',
        url     : this.url,
        headers : UIConfig.AJAX_HEADERS,
        reader  : {
            root          : 'dataList',
            totalProperty : 'totalCount'
        }
    }
   });
},
   
initFeatures     : function() {
var me = this;
if (me.groupField != undefined) {
me.features.push(
Ext.create('Ext.grid.feature.Grouping',{
     groupHeaderTpl: ' {name} ({rows.length} 项)'
})
);
}
},

initPageBar     :  function() {
if (this.page) {
this.bbar = {
xtype       : 'pageBar',
store       : this.store
};
}
},

initSelModel    : function() {
var me = this;
if (this.selModel == undefined) {
    this.selModel = Ext.create('Ext.selection.CheckboxModel',{
id        : Ext.id(),
    listeners : {
        selectionchange: function(sm, selections) {
        if (me.isDelete) {
        Ext.getCmp(me.id+'_delBt').setDisabled(selections.length == 0);
        }
        }
    }   
})
}
},

initDockedItems : function() {
if (this.dockedItems == undefined) {
var addObj = {
id       : this.id+'_addBt',
text     : this.addButtonText,
tooltip  : this.addButtonText,
iconCls  : 'add'
};
var delObj = {
id       : this.id+'_delBt',
text     : this.delButtonText,
tooltip  : this.delButtonText,
iconCls  : 'delete',
disabled : true
};
var obj = {
xtype   : 'toolbar',
items   : []
};
if (this.isAdd || this.isDelete) {
if (this.isAdd) {
obj.items.push(addObj);
}
if (this.isDelete) {
if (obj.items.length > 0) {
obj.items.push('-');
}
obj.items.push(delObj);
}
this.dockedItems = [obj];
}else {
this.dockedItems = [];
}
}
},

getAddButton  : function() {
return this.isAdd ? Ext.getCmp(this.id+'_addBt') : undefined;
},

getDelButton  : function() {
return this.isDelete ? Ext.getCmp(this.id+'_delBt') : undefined;
}

});
2014年2月12日 14:21
目前还没有答案

相关推荐

    给Extjs的GridPanel增加“合计”行

    在EXTJS中,GridPanel是一种常用的组件,用于展示表格数据。在实际应用中,我们经常需要在GridPanel底部显示一行“合计”行,以便对某一列或多列的数据进行求和或其他统计操作。这篇博文“给Extjs的GridPanel增加...

    ExtJS的GridPanel导出excel文件

    ExtJS的GridPanel导出excel文件,方便快捷易懂!

    ExtJs GridPanel双击事件获得双击的行

    在ExtJs中,GridPanel是用于展示数据的常用组件,它可以提供丰富的功能,如排序、分页、筛选等。在实际应用中,我们经常需要监听用户的交互行为,比如双击行进行进一步的操作。本篇文章将深入讲解如何在ExtJs ...

    ExtJs GridPanel延时加载.rar

    ExtJs是一款功能强大的JavaScript库,主要用于构建富客户端的Web应用程序。在给定的"ExtJs GridPanel延时加载.rar"文件中,主要涉及的核心概念是ExtJs中的GridPanel组件以及延时加载技术。GridPanel是ExtJs中一个...

    Extjs gridpanel 出现横向滚动条问题的解决方法

    在使用ExtJS开发Web应用程序时,经常会遇到在GridPanel中数据列过多,导致横向滚动条自动出现的问题。这个问题主要是由于GridPanel的宽度不足以容纳所有的列宽,因此浏览器会自动显示横向滚动条以便用户查看全部数据...

    Extjs让Gridpanel组件自动滚屏

    后来公司让改变一个Gridpanel的展现方式,要求实现滚屏的效果。于是我就开始找API相关的功能了。找了很久,也没有找到框架的相应控制方法,然后在网上找了很久,也没有找到有人给去示例,无奈就只能自己写JS来控制...

    EXTJS_GridPanel_ColumnModel_列的宽度随数据变化而变化

    EXTJS的GridPanel是其组件库中的核心组件之一,用于展示数据网格,广泛应用于Web应用的数据展示。在EXTJS中,ColumnModel是用来定义GridPanel列结构和行为的关键部分。这篇博客"EXTJS_GridPanel_ColumnModel_列的...

    EXTJS.GRIDPANEL 日期格式

    在深入探讨ExtJS.GridPanel中的日期格式设置之前,我们首先简要回顾一下ExtJS是什么以及GridPanel组件的基本功能。ExtJS是一个用JavaScript编写的开源框架,用于构建交互式的Web应用程序,它提供了丰富的UI组件和...

    Extjs入门教程(treePanel和GridPanel)

    ExtJS是一种基于JavaScript的前端开发框架,用于构建富客户端应用。它提供了丰富的组件库,包括TreePanel和GridPanel,这两个组件在数据展示和管理中扮演着重要角色。 TreePanel是ExtJS中的一个树形控件,它允许你...

    Extjs2.02 Gridpanel

    EXTJS GridPanel 是EXTJS库中的核心组件之一,尤其在EXTJS 2.02版本中,它提供了强大的表格展示和交互功能,对于初学者来说极具学习价值。GridPanel不仅能够处理基本的表格操作,如单选、多选、排序、改变列宽等,还...

    Extjs4 GridPanel 的几种样式使用介绍

    在本文中,我们将深入探讨ExtJS4中的GridPanel样式及其选择模式。GridPanel是ExtJS框架中用于展示数据的一种重要组件,它允许用户以表格形式查看、操作和管理大量信息。 首先,我们来看一个简单的GridPanel示例。在...

    ExtJS 表格面板GridPanel完整例子

    ExtJS表格面板(GridPanel)是Sencha Ext JS框架中的一个核心组件,它用于展示大量结构化数据。在本文中,我们将深入探讨如何创建并使用一个完整的ExtJS GridPanel实例,以及与其相关的源码和工具。 首先,让我们...

    ExtJS介绍以及GridPanel

    ExtJS是一种基于JavaScript的开源富客户端框架,由Sencha公司开发和维护,主要用于构建桌面级的Web应用程序。它提供了一套完整的组件模型、数据绑定、布局管理、事件处理机制,使得开发者可以创建出功能强大、交互...

    Ext grid panel 滚动条位置不变

    在前端开发领域,特别是在使用Ext JS框架时,保持滚动条位置不变是一个非常实用的功能。特别是在处理实时数据更新的场景下,这一功能可以确保用户在数据刷新后仍然停留在之前查看的位置,提供更好的用户体验。 ####...

    汇总Extjs中GridPanel的各个属性与方法.doc.docx

    ExtJS 是一个强大的JavaScript 库,专用于构建富客户端应用程序,尤其在创建数据驱动的用户界面方面表现出色。其中,GridPanel 是一个核心组件,用于展示数据网格,它提供了丰富的功能,如数据分页、排序、选择等。...

    Ext.net实现GridPanel拖动行、上移下移排序功能DEMO

    对于GridPanel中拖动选中行排序的实现,网上有不少ExtJs实现的例子,但是没有找到使用Ext.net实现的,正好最近有个需求要使用,干脆来写一个。 DEMO功能说明: 1、拖动GridPanel选中行到新位置排序。 2、在拖动结束...

    ExtJS验证上传文件类型

    ExtJS 验证上传文件类型 ExtJS 中实现文件上传功能是非常方便的,但对于新手来说,控制文件上传类型是一个难题。例如,我们只想让用户上传特定的文件类型,例如txt文件,那么如何实现当用户上传非txt文件时,给出...

    Extjs中的GridPanel

    ExtJS 是一个强大的JavaScript库,专门用于构建富客户端应用程序,特别是那些基于Web的桌面级应用。GridPanel 是 ExtJS 中的核心组件之一,它提供了一种高效、可定制的方式来展示大量结构化数据。在这个主题中,我们...

    ExtJS4.0下的gridPanel组建完全版

    ExtJS 是一个强大的JavaScript库,专门用于构建富客户端的Web应用程序。在ExtJS 4.0版本中,GridPanel组件是其核心特性之一,它允许开发者创建数据密集型的表格展示,提供了丰富的功能和定制选项。这篇内容将深入...

Global site tag (gtag.js) - Google Analytics