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
});
分享到:
相关推荐
7. **编辑(Editing)**: 如果需要在Grid中直接编辑数据,可以使用CellEditing或RowEditing插件。它们提供了在单元格或整行内编辑数据的能力。 8. **事件监听(Event Handling)**: Grid组件提供了丰富的事件,如`...
8. **扩展性**:EXT GRID支持自定义插件和扩展,可以增加额外的功能,如拖放排序、树形GRID等。 9. **皮肤和主题**:EXT支持多种预定义的皮肤,如'gray'、'silver'等,可以轻松改变应用的外观。 10. **响应式设计*...
7. **插件支持**:EXT JS Grid有多种插件,如CellEditing用于单元格编辑,RowExpander用于行展开显示更多信息,RowBody用于在行内显示额外内容。 8. **响应式设计**:EXT JS的Grid支持响应式布局,自动适应不同屏幕...
在`extgrid`这个文件中,可能包含了实现上述功能的代码示例,包括HTML、CSS和JavaScript文件。开发者可以通过查看和学习这些示例,掌握如何在实际项目中应用Ext JS Grid,以构建高性能、功能丰富的数据展示界面。
4. **过滤**:通过`Ext.grid.filters.Filters`插件,我们可以为Grid的每一列添加过滤功能。这样用户可以根据需求筛选数据,提高数据操作的效率。 5. **排序**:默认情况下,Grid支持单击列头进行升序或降序排序。若...
总之,"Ext4mvc实现grid"项目涉及到Ext JS 4的MVC架构和GridPanel组件的使用,这要求开发者理解数据模型、视图组件、控制器逻辑以及如何通过MVC模式有效地组织代码。通过学习和实践这样的项目,开发者能够提升在Ext ...
2. **分页工具栏(paging toolbar)**:EXT Grid的分页功能通常通过分页工具栏来实现,这个工具栏包括了页码导航、每页记录数选择等功能。扩展控件会替换或添加到这个工具栏中,提供下拉列表供用户选择每页记录数。 ...
如果需要在Grid中编辑数据,可以使用`Ext.grid.plugin.CellEditing`或`Ext.grid.plugin.RowEditing`插件。这些插件提供单元格或整行的编辑模式,使用户可以直接在Grid上修改数据。 ### 排序与过滤 Grid默认支持对...
EXT Grid Panel支持行级编辑,只需监听cellClick事件,启用Cell Editing插件。当用户完成编辑并保存时,通过Data Store的sync方法将更改同步回服务器。 **5. 删除(Delete)** 删除操作可以通过Grid Panel的行选中...
在"表格可编辑"的场景中,我们可以使用`Ext.grid.plugin.CellEditing`插件来实现单元格级别的编辑功能。当用户点击某个单元格时,编辑框会自动出现,让用户可以直接修改数据,然后提交到服务器进行更新。这极大提升...
var grid = Ext.create('Ext.grid.Panel', { store: store, plugins: [{ ptype: 'ux.Andrie.pPageSize', // 这里可能需要设置其他插件相关的配置 }], // 其他Grid配置... }); ``` 在实际应用中,我们还需要...
8. **分页**:通过配置store的proxy和paging属性,可以实现数据的分页加载,`Ext.toolbar.Paging`可用于显示分页导航。 9. **排序和过滤**:Grid支持列点击排序,通过配置column的sortType和store的sorters,可以...
var grid = new Ext.grid.GridPanel({ store: store, columns: [...], // 定义列 ... }); var toolbar = new Ext.toolbar.Paging({ store: store }); grid.addDocked(toolbar); grid.render('gridDiv'); ``` ...
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 分组汇总...
1. 分页栏(Paging Toolbar):EXT提供了一个内置的分页工具栏组件,可以轻松地添加到Grid或DataView中。分页栏包含页码按钮、每页记录数选择器和状态指示器等元素,用户可以通过这些元素轻松导航和调整分页设置。 ...
ExtJS Grid提供行编辑器插件,使得用户可以直接在表格中编辑单元格。同时,可以将Grid与表单组件结合,创建复杂的数据输入界面。 7. **选择模式(Selection Models)** Grid有多种选择模式,如单选、多选和行选择...
要设置分页大小,我们首先需要引入EXT的分页插件`Ext.toolbar.Paging`,然后在配置对象中指定`pagingConfig`。以下是一个简单的例子: ```javascript var grid = Ext.create('Ext.grid.Panel', { store: myStore, ...
2. **分页插件(Paging Toolbar)**:当与数据存储结合使用时,分页工具栏(`Ext.PagingToolbar`)可以在底部显示页码导航,允许用户切换页面。它需要配置`store`属性来引用数据存储,并通过`displayMsg`和`emptyMsg...
7. **编辑(Editing)**:如果你的Grid需要支持数据编辑,可以集成Ext.grid.plugin.CellEditing或RowEditing插件。它们提供单元格级别的编辑,用户双击单元格后可以直接修改值。 8. **事件监听(Event Handling)**...
5. **行编辑**:如果项目中包含了行编辑功能,源码将展示如何集成ExtJS的RowEditing插件,使得用户可以直接在表格行内编辑数据。 6. **分页**:对于大数据集,分页是必不可少的。源码会展示如何配置paging toolbar...