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

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


        经过对自定义模块和Grid的设计和编码,现在已经能对一个有配置信息的模块来生成界面并进行一些简单的CURD操作。由于这是一个全解释性的前台的架构,因此你想到的任何新主意都可以放到所有的模块中。
        比如对于“Grid列宽的自动适应”这个功能,我们可以在系统设置项里加入“列宽自适应模式”,下面有三个选项:1、不自动适应;2、首次加载数据时自动适应;3、每次加载数据都自动适应。因为列宽自动适应需要时间,如果字段很多,记录很多会比较慢,因此可以加入这个设置,使用户根据自己的喜好来设置。还可以对每种类型的字段做一些设置,比如日期的显示格式、浮点型的数值要不要加分节符号,小数位数,颜色等等。
        下面再介绍一个使用MVVM特性的小功能,在title上显示当前选中的记录的nameField。先截图看看效果:
置顶

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


置顶

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


        下面具体的修改,先在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特性的做法
	},

        简单的几句,就又加了一个新的功能。有问题或建议请,或与我联系:[email protected]

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

 














更多相关文章
  • 目录管理 1.mkdir 创建空目录 -p 在创建目录的时候路径不存在时自动创建路径目录 -v 详细信息 , 可以显示创建过程 同时创建多个 /a/b/{c,d/e} 花括号展开 {a,b}_{c,d} == a_c , a_d , b_d , b_c 2.tree 查看文件或目录数 3.rmdir ...
  • 今天遇到一个问题,就是“NeatUpload大文件上传控件而导致Nonfile portion > 4194304 bytes错误”,百度后发现了一个解决方法,跟大家分享下: NeatUpload是一个开源的大文件上传控件,非常的强大,支持文件类型过滤.上传进度条显示.多文件上传等强大的功能. ...
  • 1.调用cclayer的方法setAccelerometerEnabled(true)在层里启用重力感应 2.启用重力感应后,重力方向变化时,会回调cclayer的方法didAccelerate( CCAcceleration* pAccelerationValue ),在自己派生的层里重写此方法, ...
  • 最近都在做linq+ext.net的开发.这两天想学习下MVC和ef,刚好,在看ext.js的时候也喜欢上了esayui,所以就想用mvc+ef+esayui做一个汽车网后台管理来加强下.在这里也把我的经验和大家分享下.好了开始项目的准备工作,先准备下EsayUI的一些文件,可以到http://ww ...
  • Ctrl+E,D -格式化全部代码 Ctrl+A+K+FCtrl+E,F -格式化选中的代码 Ctrl+K+FCTRL + SHIFT + B生成解决方案 Alt+B+B 或 F6 生成当前项目 Alt+B+U 或 Shift+F6CTRL + O 打开文件CTRL + SHIFT + O打开项目C ...
  • (二) 你适合当程序员吗,你知道编程序是怎么回事吗?1. 程序员意味着要编程序.(如果你仅仅想得到一份高薪水的工作,喝喝咖啡就等老板发薪水,我奉劝你还是另找一份更合适的工作,譬如练摊,真的,兄弟,这份工作不适合你)2.你是学文的还是学理的,编程序也许需要浪漫,但更需要逻辑和严谨.(说坦白点就是,在你 ...
一周排行
  • Android的参数大致分成两块:系统服务参数和平台系统信息. 系统服务参 数:Android的系统服务不仅指服务组件,而且还包括 Android 系统提供的服务功能.Android为这些系统服务参数提供了接口--- ...
  • 威胁形势已不可逆转地改变.安全专业人员的主要敌人不再是盯着显示器寻找容易攻击的社会青少年,而是试图挖掘敏感信息的熟练技术人员. 威胁形势的转变并不是突然发生的.在2006年,针对TJX公司的高度针对性攻击导致千百万人 ...
  •     改革春风吹满地 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submis ...
  • 1> 正常切换 1)从服务器检查SHOW PROCESSLIST语句的输出,直到你看到Has read all relaylogwaiting for the slave I/O thread to updat ...
  • Microsoft系统结构企业数据中心测试指南 文章出处:测试时代 / 作者:不详 简介 <Microsoft 系统结构 (MSA) 企业数据中心 (EDC) 测试指南>由五章组成,其中记录了 MSA E ...
  • 记者从有关渠道获悉,深圳市同洲电子股份有限公司(002052.SZ,以下简称同洲电子)通信项目负责人涉嫌盗窃国内某知名手机品牌商业机密,被执法部门立案侦查.由于事先得知风声,该负责人提前人间蒸发,至今尚没露面.目前同 ...
  • 实现了ModelDriven就必须实现getModel这个方法,该方法返回的是你的ModelDrivern泛型中设定的实体类.其实是为了实现代码的重用,不要再定义一次你在数据访问层定义的属性了,直接用那个类就行了.不 ...
  •      一.改善代码的三部曲    <设计模式>-> <重构>-> <重构与模式>.也就是设计->重构->重构出新设计.    <设计模式>主 ...
  •   1.文件和汉化文件 ZendStudio官方下载地址:http://www.geekso.com/component/zendstudio-downloads/  百度云地址: 10.0.0.msi文件: htt ...
  •  题目大意:找到几何中的4个数字使他们能够组成 a+b+c=d , 得到最大的d值   我们很容易想到a+b = d-c 那么将所有a+b的值存入hash表中,然后查找能否在表中找到这样的d-c的值即可 因为4个数字 ...