跟我一起学extjs5(20--模块Grid的其他功能的设想,前20节源码)

跟我一起学extjs5(20--模块Grid的其他功能的设想,前20节源码)

经过对自定义模块和Grid的设计和编码,现在已经能对一个有配置信息的模块来生成界面并进行一些简单的CURD操作。由于这是一个全解释性的前台的架构,因此你想到的任何新主意都可以放到所有的模块中。

比如对于“Grid列宽的自动适应”这个功能,我们可以在系统设置项里加入“列宽自适应模式”,下面有三个选项:1、不自动适应;2、首次加载数据时自动适应;3?每次加载数据都自动适应。因为列宽自动适应需要时间,如果字段很多,记录很多会比较慢,因此可以加入这个设置,使用户根据自己的喜好来设置。还可以对每种类型的字段做一些设置,比如日期的显示格式、浮点型的数值要不要加分节符号,小数位数,颜色等等。

下面再介绍一个使用MVVM特性的小功能,在title上显示当前选中的记录的nameField。先截图看看效果:

下面具体的修改,先在Grid.js中将bind的语句改一下

			bind : {
				title : '{tf_title} {selectedNames}' // 数据绑定到ModuleModel中的tf_title 和
				// 选中记录的名称
			},

然后再在 ModuleModel.js中的data中加入属性:

				selectedNames : ''   //选中的记录的names显示在title上

Grid的记录选中事件在前几节中已经加了,只要修改一下事件函数就可以了,修改ModuleController.js

	// 选中的记录发生变化过后的事件
	selectionChange : function(model, selected, eOpts) {
		// 设置删除按钮的状态
		this.getView().down('toolbar button#delete')[selected.length > 0
				? 'enable'
				: 'disable']();

		var viewModel = this.getView().getViewModel();
		// 下面将组织选中的记录的name显示在title上,有二种方案可供选择,一种是用下面的MVVM特性,第二种是调用refreshTitle()
		var selectedNames = ''
		if (selected.length > 0) {
			if (!!selected[0].getNameValue())
				selectedNames = selectedNames + ' 『<em>' + selected[0].getNameValue()
						+ '</em>'
						+ (selected.length > 1 ? ' 等' + selected.length + '条' : '') + '』';
		}
		viewModel.set('selectedNames', selectedNames); // 修改ModuleModel中的数据,修改好后会自动更新bind的title
		// this.getView().down('grid').refreshTitle(); // 这是不用MVVM特性的做法
	},

简单的几句,就又加了一个新的功能。Grid的操作暂时告一段落,从下面会开始加入自定义Form、自定义图表的开发过程。有问题或建议请回复,或与我联系:[email protected]。

想下载源码的可以到我的资源里去下载,或者点击打开链接进入下载页面。

跟我一起学extjs5(20--模块Grid的其他功能的设想,前20节源码),布布扣,bubuko.com

时间: 2024-12-29 07:32:57

跟我一起学extjs5(20--模块Grid的其他功能的设想,前20节源码)的相关文章

跟我一起学extjs5(10--使用MVVM控制菜单样式,含前10节源码)

跟我一起学extjs5(10--使用MVVM特性控制菜单样式) 菜单的样式多了,怎么可以灵活的切换是个问题. 在使用标准菜单的时候,在菜单最前面有二个按钮,可以切换到树状菜单和按钮菜单. 在树状菜单的显示区,可以切换换到标准菜单,以及折叠式菜单. 切换到按钮菜单之后: 切换菜单切换到标准菜单和树状菜单,需要在设置里面进行操作. 下面分别来看看是如何实现的.由于内部处理比较复杂,我就画一张大图了,源代码稍后也会发布在csdn中. 现在看看设置里面改变菜单样式的那个控件的运行图. 这个流程比较复杂,

19、手把手教你Extjs5(十九)模块Grid的其他功能的设想

经过对自定义模块和Grid的设计和编码,现在已经能对一个有配置信息的模块来生成界面并进行一些简单的CURD操作.由于这是一个全解释性的前台的架构,因此你想到的任何新主意都可以放到所有的模块中. 比如对于“Grid列宽的自动适应”这个功能,我们可以在系统设置项里加入“列宽自适应模式”,下面有三个选项:1.不自动适应:2.首次加载数据时自动适应:3?每次加载数据都自动适应.因为列宽自动适应需要时间,如果字段很多,记录很多会比较慢,因此可以加入这个设置,使用户根据自己的喜好来设置.还可以对每种类型的字

跟我一起学extjs5(21--模块Grid的多列表方案)

跟我一起学extjs5(21--模块Grid的多列表方案) 对于有很多字段的模块在一个grid中显示所有的字段,会显得很臃肿,对于不同的用户其侧重的字段类型也不尽相同,因此就有必要为Grid的列表设计多个方案.在这个自定义系统进行设计的时候,我已经将这部分内容设计了进去,在ModuleModel.js中,在data下面有个属性tf_gridSchemes为数组型,你有多少种方案,都定义在这个下面就可以了,然后再创建一个控件可以根据这些定义来进行方案的选择,选择好以后让grid重新配置新的方案即可

跟我一起学extjs5(16--各种Grid列的自定义渲染)

跟我一起学extjs5(16--各种Grid列的自定义渲染) Grid各列已经能够展示出来了.列的类型包括字符型,整型,浮点型,货币型,百分比型,日期型和布尔型,我自定义了各种类型的渲染样式: 1.整型:标题栏居中,数值靠右显示,正数颜色为蓝色,负数颜色为红色,0不显示. 2.浮点型:标题栏居中,数值靠右显示,正数颜色为蓝色,负数颜色为红色,显示二位小数,0不显示. 3.货币型:同浮点型,但是可以选择不同的单位,如元,千元,万元,百万元,亿元.数据有分节显示. 4.百分比型:自定义的一个百分比的

跟我一起学extjs5(22--模块Form的自己定义的设计)

跟我一起学extjs5(22--模块Form的自己定义的设计) 前面几节完毕了模块Grid的自己定义,模块Form自己定义的过程和Grid的过程类似,可是要更复杂一些.先来设计一下要完毕的整体目标. 1?能够有多个Form方案,相应于显示.新增.改动.审核.审批等功能: 2?对于上述各种功能能够选择不同的Form方案.比方说改动能够有几个方案,各个操作员能够选择他们感兴趣的Form方案来进行数据的改动. 3?每一个Form方案中能够定义若干个字段分组(FieldSet或FieldContaine

跟我一起学extjs5(18--模块的新增、修改、删除操作)

跟我一起学extjs5(18--模块的新增.修改.删除操作) 上节在Grid展示时做了一个金额单位可以手工选择的功能,如果你要加入其他功能,也只要按照这个模式来操作就行了,比如说你想改变金额字段的颜色.小数位数.零值是否显示.货币符号.单位显示在标题栏或者跟在金额后面,凡是你能想到的需要手工设置的东西都可以加进来. 上面讲到的这些设置以后会加到程序里,在下载包里可以看到,就不做讲解了. 这一节来使模块可以具有新增.修改.删除的操作.由于还没有和后台服务相联,因此数据是保存在本地localStor

跟我一起学extjs5(17--Grid金额字段单位MVVM方式的选择)

跟我一起学extjs5(17--Grid金额字段单位MVVM方式的选择) 这一节来完成Grid中的金额字段的金额单位的转换.转换旰使用MVVM特性,总体上和控制菜单的几种模式类似.首先在目录app/view/main/menu下建立文件Monetary.js,用于放金额单位的数据和生成菜单的items. /** * 金额单位的管理类 */ Ext.define('app.view.main.menu.Monetary', { statics : { values : null, getAllMo

跟我一起学extjs5(03--项目中文件的加载过程)

跟我一起学extjs5(03--项目中文件的加载过程) 上一节中用sencha工具自动创建了一个项目,并且可以在浏览器中查看.现在我们来看看js类加载过程.如下图所示: 1?首先:浏览器中输入 localhost:1841 ,调用 index.html; <!DOCTYPE HTML> <html> <head> <meta charset="UTF-8"> <title>app</title> <!-- T

XAF Excel数据导入模块使用说明与源码

我实现了XAF项目中Excel数据的导入,使用Devexpress 新出的spreadsheet控件,可能也不新了吧:D 好,先看一下效果图:下图是Web版本的. 下面是win版,目前只支持Ribbon UI,下个版本支持其他界面的: 功能说明: 支持从Excel任意版本导入数据,可以使用 打开文件功能选择现有的文件,没有模板时,请来到上图界面中,另存为Excel到本地,往模板上填加数据. 导入时使用了显示名称进行匹配字段,所以字段部分不要修改. 导入时会使用你在写好的验证规则. 支持Win+W