跟我一起学extjs5(25--模块Form的自己定义的设计[3])

        自己定义的Form已经能够执行了,以下改一下配置,把Form里面的FieldSet放在Tab之下。改动一下ModuleModel.js中的data下的tf_FormSchemes下的方案,添加一个属性。


        上面设置好了以后,能够看到Form中FieldSet都放置在Tab中了,以下的截图展示了二个Tab的界面。


        从理论上说,假设你的Form配置信息设置得合理,能够得到你想要的不论什么样式的Form。但在实际应用的时候,我们仅仅要完毕大部分能自己主动生成就足够了,真正程序中有超级变态复杂的Form结构,能够自己编脚本生成。上面的代码和演示样例仅仅是展示了怎样自己定义一个Form,要能够真正的适用还得做非常多工作,对于刚開始学习的人或者经验还不是非常丰富的程序猿来说,这把这个当成一个拓展视野的样例看看即可了。

        上面是一个编辑的窗体,数据编辑了以后要保存回model中,这个保存没实用到MVVM特性,我直接写在BaseForm.js中的button控件里了。
				this.buttons.push({
text : '保存',
itemId : 'save',
glyph : 0xf0c7,
handler : function(button){
button.up('form').getForm().updateRecord();
}
},{
text : '关闭',
itemId : 'close',
glyph : 0xf148,
handler : function(button){
button.up('window').hide();
}
});

一个Form在用loadRecord(model)函数从model中调用数据后,能够用getRecord()来返回model,在数据改动了以后能够直接用updateRecord()来用form中的值更新到model中。

        在保存的handler中运行了这条语句:button.up('form').getForm().updateRecord();
给刚開始学习的人讲一下,button.up('form'),就是从这个button的第一个父容器開始一直往上递归,直到找到form为止,这是一个很好的依据控件找到另一个控件的办法,建立大家都用这样的方法来查找控件,不要用getCmp(id) 的这样的直接查找的方式。与up相应的另一个down方法,是查找本控件的子控件的函数。上例中增加了这种方法之后,就能够保存数据了。



        




跟我一起学extjs5(25--模块Form的自己定义的设计[3])的更多相关文章

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

    跟我一起学extjs5(22--模块Form的自己定义的设计)         前面几节完毕了模块Grid的自己定义,模块Form自己定义的过程和Grid的过程类似,可是要更复杂一些.先来设计一下要完 ...

  2. 跟我一起学extjs5(24--模块Form的自己定义的设计[2])

    跟我一起学extjs5(24--模块Form的自己定义的设计[2])         在本节中将要增加各种类型的字段,在增加字段的时候因为能够一行增加多个字段,因此层次结构又多了一层fieldcont ...

  3. 跟我一起学extjs5(11--自己定义模块的设计)

    跟我一起学extjs5(11--自己定义模块的设计)        从这一节開始我们来设计并完毕一个自己定义模块.我们先来确定一个独立的模块的所能定义的一些模块信息. 下面信息仅仅是我自己在开发过程中 ...

  4. 跟我一起学extjs5(13--运行菜单命令在tabPanel中显示模块)

    跟我一起学extjs5(13--运行菜单命令在tabPanel中显示模块)         上面设计好了一个模块的主界面,以下通过菜单命令的运行来把这个模块增加到主界面其中. 在MainModule. ...

  5. 跟我一起学extjs5(37--单个模块的设计[5取得模块列表数据])

    跟我一起学extjs5(37--单个模块的设计[5取得模块列表数据])         写了几个月,总算有点盼头了,最终要从后台取得数据了.后台的spring mvc 和 service 仅仅能简单的 ...

  6. 跟我一起学extjs5(42--单个模块的数据新增方式)

    跟我一起学extjs5(42--单个模块的数据新增方式)         前面的章节中已经增加了一个自己定义的模块,而且能够进行数据的新增.改动.删除的操作了,在这个基础上就能够大作文章了. 这一节来 ...

  7. 22、手把手教你Extjs5(二十二)模块Form的自定义的设计[1]

    下面开始设计和完成一个简单的Form的自定义过程.先准备数据,在ModuleModel.js中的data属性下面,加入自定义Form的参数定义,下面的代码中定义了一个新的属性tf_formScheme ...

  8. 21、手把手教你Extjs5(二十一)模块Form的自定义的设计

    前面几节完成了模块Grid的自定义,模块Form自定义的过程和Grid的过程类似,但是要更复杂一些.先来设计一下要完成的总体目标. 1、可以有多个Form方案,对应于显示.新增.修改.审核.审批等功能 ...

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

    跟我一起学extjs5(18--模块的新增.改动.删除操作)         上节在Grid展示时做了一个金额单位能够手工选择的功能,假设你要增加其它功能.也仅仅要依照这个模式来操作即可了,比方说你想 ...

随机推荐

  1. iOS 百度地图大头针使用

    百度地图使用第五讲:大头针使用(地图标注)http://bbs.yusian.com/thread-8384-1-1.html(出处: 小龙虾IT笔记)

  2. Problem A: Artificial Intelligence?

    Description Physics teachers in high school often think that problems given as text are more demandi ...

  3. JS字符串方法总结整理

    //javascript字符串方法总结   1.String.charAt(n)      //取得字符串中的第n个字符   2.String.charCodeAt(n)  //取得字符串中第n个字符 ...

  4. [转]Swift 简介 - 苹果最新的编程语言

    Swift 真的可以说是最新的编程语言了,2014wwdc刚刚发布,下面来了解一下都有哪些特点. 首先感谢原作者,主要内容是借鉴他的,参考链接 http://zh.lucida.me/blog/an- ...

  5. 微软Xbox360 E与微软Xbox360 slim Kinect套装(1TB)哪个好

    原文地址:http://product.pchome.net/digi_home_playstation_microsoft_xbox360slimkinect1tb/381793.html 微软Xb ...

  6. Linux的默认编码可以通过export LC_ALL=zh_CN.GBK来修改

    http://www.cnblogs.com/malecrab/p/5300486.html

  7. APUE学习之---------------进程

    离职了,交接期也有足够的时间了,可以在好好的再看一下APUE,想想上次详细的看还是在两年之前,虽然中间也偶尔会翻出来看看,但是由于工作上交集相对比较少一直没有去细读一下.现在正好是一段空挡期可以好好看 ...

  8. Intersecting Lines(数学)

    Intersecting Lines Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 12844   Accepted: 57 ...

  9. Phoenix——实现向HBase发送标准SQL语句

    写在前面一: 本文总结基于HBase的SQL查询系统--Salesforce phoenix 写在前面二: 环境说明: 一.什么是Phoenix 摘自官网: Phoenix是一个提供hbase的sql ...

  10. GDB学习之道:GDB调试精粹及使用实例

    一:列文件清单  1. List  (gdb) list line1,line2 二:执行程序  要想运行准备调试的程序,可使用run命令,在它后面可以跟随发给该程序的任何参数,包括标准输入和标准输出 ...