`
01jiangwei01
  • 浏览: 542222 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Ext Grid paging插件

阅读更多
Ext.namespace('Ext.ux.grid');
Ext.ux.grid.PageSizePlugin = function() {
    Ext.ux.grid.PageSizePlugin.superclass.constructor.call(this, {
        store: new Ext.data.SimpleStore({
            fields: ['text', 'value'],
            data: [['10', 10], ['20', 20], ['50', 50], ['100', 100]]
        }),
        mode: 'local',
        displayField: 'text',
        valueField: 'value',
        editable: false,
        allowBlank: false,
        triggerAction: 'all',
        width: 60
    });
};

Ext.extend(Ext.ux.grid.PageSizePlugin, Ext.form.ComboBox, {
    init: function(paging) {
        paging.on('render', this.onInitView, this);
    },

    onInitView: function(paging) {
        paging.add('-','每页',this,'条');
       	var pageSize = function getCookie(c_name)
		{	
			c_name = 'pageSize';
			 if (document.cookie.length>0)
			  {
			  c_start=document.cookie.indexOf(c_name + "=")
			  if (c_start!=-1)
			    { 
			    c_start=c_start + c_name.length+1 
			    c_end=document.cookie.indexOf(";",c_start)
			    if (c_end==-1) c_end=document.cookie.length
			    return unescape(document.cookie.substring(c_start,c_end))
			    } 
			  }
			return ""
		}();
		if (pageSize!=null && pageSize!="")
		{
			this.setValue(pageSize);
		}
		else
		{
			this.setValue(paging.pageSize);
		}

        this.on('select', this.onPageSizeChanged, paging);
    },
    onPageSizeChanged: function(combo) {
        this.pageSize = parseInt(combo.getValue());
        function setCookie(c_name,value,expiredays)
		{	
			var exdate=new Date()
			exdate.setDate(exdate.getDate()+expiredays)
			document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
		};
        setCookie('pageSize',this.pageSize,14);
        this.doLoad(0);
    }
});

使用示例:
var pagingBar = new Ext.PagingToolbar({
        plugins : new Ext.ux.grid.PageSizePlugin(),
        pageSize: pageRowCount,
        store: this.store,
        displayInfo: true
    });
var grid = new Ext.grid.GridPanel({
		margins:'2 2 2 2',
		renderTo:document.body,
	         viewConfig: {
				forceFit:true,
				enableRowBody:true,
				showPreview:true,
				getRowClass : this.applyRowClass
			},
		bbar:pagingBar
	
	
	});



分享到:
评论
3 楼 witcheryne 2009-06-19  
没明白楼主想干什么 - -|
Ext JS 不是有PagingToolBar这个组件么?
2 楼 xiexueze 2009-06-18  
至少也说明一下,传个示例图吧
1 楼 xiexueze 2009-06-18  
不知想干嘛,在展示代码的优美吗?

相关推荐

    ext grid 显示数据

    7. **编辑(Editing)**: 如果需要在Grid中直接编辑数据,可以使用CellEditing或RowEditing插件。它们提供了在单元格或整行内编辑数据的能力。 8. **事件监听(Event Handling)**: Grid组件提供了丰富的事件,如`...

    EXT2.0 GRID 示例

    8. **扩展性**:EXT GRID支持自定义插件和扩展,可以增加额外的功能,如拖放排序、树形GRID等。 9. **皮肤和主题**:EXT支持多种预定义的皮肤,如'gray'、'silver'等,可以轻松改变应用的外观。 10. **响应式设计*...

    Ext框架的Grid使用介绍

    7. **插件支持**:EXT JS Grid有多种插件,如CellEditing用于单元格编辑,RowExpander用于行展开显示更多信息,RowBody用于在行内显示额外内容。 8. **响应式设计**:EXT JS的Grid支持响应式布局,自动适应不同屏幕...

    ext--grid--demo

    在`extgrid`这个文件中,可能包含了实现上述功能的代码示例,包括HTML、CSS和JavaScript文件。开发者可以通过查看和学习这些示例,掌握如何在实际项目中应用Ext JS Grid,以构建高性能、功能丰富的数据展示界面。

    Extjs Grid 扩展实例

    4. **过滤**:通过`Ext.grid.filters.Filters`插件,我们可以为Grid的每一列添加过滤功能。这样用户可以根据需求筛选数据,提高数据操作的效率。 5. **排序**:默认情况下,Grid支持单击列头进行升序或降序排序。若...

    Ext4mvc实现grid

    总之,"Ext4mvc实现grid"项目涉及到Ext JS 4的MVC架构和GridPanel组件的使用,这要求开发者理解数据模型、视图组件、控制器逻辑以及如何通过MVC模式有效地组织代码。通过学习和实践这样的项目,开发者能够提升在Ext ...

    Ext扩展控件-------可以通过下拉列表框选择每页的分页条数

    2. **分页工具栏(paging toolbar)**:EXT Grid的分页功能通常通过分页工具栏来实现,这个工具栏包括了页码导航、每页记录数选择等功能。扩展控件会替换或添加到这个工具栏中,提供下拉列表供用户选择每页记录数。 ...

    sencha touch grid

    如果需要在Grid中编辑数据,可以使用`Ext.grid.plugin.CellEditing`或`Ext.grid.plugin.RowEditing`插件。这些插件提供单元格或整行的编辑模式,使用户可以直接在Grid上修改数据。 ### 排序与过滤 Grid默认支持对...

    通过ext实现CURD

    EXT Grid Panel支持行级编辑,只需监听cellClick事件,启用Cell Editing插件。当用户完成编辑并保存时,通过Data Store的sync方法将更改同步回服务器。 **5. 删除(Delete)** 删除操作可以通过Grid Panel的行选中...

    Ext JS的table设计实例

    在"表格可编辑"的场景中,我们可以使用`Ext.grid.plugin.CellEditing`插件来实现单元格级别的编辑功能。当用户点击某个单元格时,编辑框会自动出现,让用户可以直接修改数据,然后提交到服务器进行更新。这极大提升...

    extJs之分页控件

    var grid = Ext.create('Ext.grid.Panel', { store: store, plugins: [{ ptype: 'ux.Andrie.pPageSize', // 这里可能需要设置其他插件相关的配置 }], // 其他Grid配置... }); ``` 在实际应用中,我们还需要...

    ExtJS 使用grid显示数据

    8. **分页**:通过配置store的proxy和paging属性,可以实现数据的分页加载,`Ext.toolbar.Paging`可用于显示分页导航。 9. **排序和过滤**:Grid支持列点击排序,通过配置column的sortType和store的sorters,可以...

    extjs前台分页插件PagingStore!

    var grid = new Ext.grid.GridPanel({ store: store, columns: [...], // 定义列 ... }); var toolbar = new Ext.toolbar.Paging({ store: store }); grid.addDocked(toolbar); grid.render('gridDiv'); ``` ...

    Ext Js权威指南(.zip.001

    Ex4.0共2个压缩包特性,《ext js权威指南》 ...10.3.4 数据汇总功能:ext.grid.featrue.abstractsummary与ext.grid.featrue. summary / 539 10.3.5 分组功能:ext.grid.featrue.grouping / 543 10.3.6 分组汇总...

    EXT 分页,树形结构案列

    1. 分页栏(Paging Toolbar):EXT提供了一个内置的分页工具栏组件,可以轻松地添加到Grid或DataView中。分页栏包含页码按钮、每页记录数选择器和状态指示器等元素,用户可以通过这些元素轻松导航和调整分页设置。 ...

    extjs表格Grid比较全面的功能

    ExtJS Grid提供行编辑器插件,使得用户可以直接在表格中编辑单元格。同时,可以将Grid与表单组件结合,创建复杂的数据输入界面。 7. **选择模式(Selection Models)** Grid有多种选择模式,如单选、多选和行选择...

    ext设置分页大小.rar

    要设置分页大小,我们首先需要引入EXT的分页插件`Ext.toolbar.Paging`,然后在配置对象中指定`pagingConfig`。以下是一个简单的例子: ```javascript var grid = Ext.create('Ext.grid.Panel', { store: myStore, ...

    ext分页查询ext分页查询ext分页查询ext分页查询ext分页查询

    2. **分页插件(Paging Toolbar)**:当与数据存储结合使用时,分页工具栏(`Ext.PagingToolbar`)可以在底部显示页码导航,允许用户切换页面。它需要配置`store`属性来引用数据存储,并通过`displayMsg`和`emptyMsg...

    ExtGridDemo

    7. **编辑(Editing)**:如果你的Grid需要支持数据编辑,可以集成Ext.grid.plugin.CellEditing或RowEditing插件。它们提供单元格级别的编辑,用户双击单元格后可以直接修改值。 8. **事件监听(Event Handling)**...

    extjs grid.panel 项目 源码

    5. **行编辑**:如果项目中包含了行编辑功能,源码将展示如何集成ExtJS的RowEditing插件,使得用户可以直接在表格行内编辑数据。 6. **分页**:对于大数据集,分页是必不可少的。源码会展示如何配置paging toolbar...

Global site tag (gtag.js) - Google Analytics