EXTJS表格功能扩展 之 有状态表格StatefulGrid

本文介绍了如何在EXTJS中扩展表格功能,实现有状态表格(StatefulGrid)。通过自定义状态保存服务,利用Ext.state.Provider扩展布局配置的加载、清空、保存和获取操作。在页面加载时,加载用户布局配置到本地,以减少对后台服务的依赖。同时,在表格初始化时,应用布局信息,包括列的显示/隐藏和排序状态,并提供重置和保存布局的功能。
摘要由CSDN通过智能技术生成

1、状态保存服务

为了实现有状态表格,首选我们要提供状态保存服务,ExtJs已经提供了状态管理:Ext.state.Provider,为了让我们的代码更加优雅,我扩展了Provider。主要提供了布局配置的加载、清空、保存和获取服务。代码如下:

Ext.define('Pds.svc.UISettingsSvc', {
	extend: 'Ext.state.Provider',
	singleton: true,
	alternateClassName: 'UISettingsSvc',

	// 界面配置
	settings: {
		load: serviceUrl('settings/load'),
		save: serviceUrl('settings/save'),
		clear: serviceUrl('settings/clear')
	},

	/**
	 * 加载配置,一般要界面首次加载时调用
	 */
	loadState: function() {
		var me = this;
		Cxt.Utils.ajax({
			request: {
				async: false,
				url: me.settings.load
			},
			success: function(ret) {
				if (!ret.data) {
					ret.state = [];
				} else {
					for (var field in ret.data) {
						ret.data[field] = me.decodeValue(ret.data[field]);
					}
					me.state = ret.data;
				}
			}
		});
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值