跟我一起学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. Hibernate - cascade-and -session_state

    cascade属性: 默认为none,代表不级联. 级联是指操作主对象时,对关联的对象也做相同的操作. 可设为:delete, save-update, all, none ...-- 一般是对象只归 ...

  2. BZOJ 1221: [HNOI2001] 软件开发(最小费用最大流)

    不知道为什么这么慢.... 费用流,拆点.... --------------------------------------------------------------------------- ...

  3. PHP调试工具 《Kint》

    Kint使用,简单介绍 是一个简单又强大的PHP调试工具. 1.kint 是什么? kint是用绝对易人识辨的方式展示PHP调试的数据. 换句话说,它可以取var_dump(),debug_blick ...

  4. python安装集成包

    anaconda, 包含各种科学运算包以及astropy.装完它一劳永逸. https://www.continuum.io/downloads

  5. [LeetCode]题解(python):007-Reverse Integer

    题目来源: https://leetcode.com/problems/reverse-integer/ 题意分析: 这道题目很简单,就是将一个数反转,123变321,-123变321. 题目思路: ...

  6. [LeetCode]题解(python):006-ZigZag Conversion

    题目来源: https://leetcode.com/problems/zigzag-conversion/ 题意分析: 这道题目是字符串处理的题目.输入一个字符串和一个数字,将字符串填入倒Z形输入字 ...

  7. IOS 单例模式的学习

    单例模式只能修改无法释放,直到程序结束. 我们下面一步一步来做一个单例模式程序 (1)单例一旦创建,是永远存在于内存中的,所以需要创建一个全局量 static MySingletonClass *sh ...

  8. 关于JVM的GC机制

    GC优点: 1.提高生产率,不用逐行检查内存是否释放. 2.Java安全策略的一部分,不会使用户错误释放内存而导致JVM崩溃. GC算法基本两点: 1.检测出垃圾对象. 2.回收垃圾对象,释放相应堆空 ...

  9. 从基因组可视化工具——circos说起,circos安装

      这是博客改版的第一篇博文,选择最近使用的生物信息学软件——circos开始写起.circos是用perl写的生物软件,从发表的文章来看 学习circos主要是熟悉配置文件的编辑方法,搞清楚其中的标 ...

  10. C#使用系统的“显示桌面”功能(Shell.Application)

    原文 C#使用系统的“显示桌面”功能(Shell.Application) 在 Windows 系统的 任务栏 上的 快速启动栏 里,通常有一个图标  ,点击这个图标,就会切换到桌面.这个图标实际是一 ...