ExtJs 添加员工 实例 ---- 锚点布局 anchor 可自动伸缩
代码如下:
<script type="text/javascript">
Ext.onReady(function () {
// 创建一条记录行, job 为 displayField 名称
var JOB = Ext.data.Record.create([{ name: "job"}]);
new Ext.Window({
title: "添加人员",
width: 500,
height: 350,
layout: "form",
labelWidth: 55,
plain: true,
bodyStyle: "padding:5px",
defaultType: "textfield",
defaults: { anchor: "95%" },
items: [{
xtype: "panel",
frame: true,
baseCls: "x-plain",
layout: "column",
items: [{
columnWidth: 0.5,
layout: "form",
labelWidth: 55,
defaultType: "textfield",
baseCls: "x-plain",
defaults: { width: 160 },
items: [{
fieldLabel: "姓名"
}, {
id: "age",
fieldLabel: "年龄",
value: 20
}, {
xtype: "datefield",
format: "Y-m-d",
value: new Date(),
readOnly: true,
fieldLabel: "出生日期",
listeners: {
"blur": function () {
var age = new Date().getFullYear() - this.getValue().getFullYear() + 1;
Ext.getCmp("age").setValue(age);
}
}
}, {
fieldLabel: "联系电话"
}, {
fieldLabel: "手机号码"
}, {
fieldLabel: "电子邮件"
}, {
xtype: "combo",
triggerAction: "all",
readOnly: true,
value: "男",
store: ['男', '女'],
fieldLabel: "性别"
}]
}, {
columnWidth: 0.5,
layout: "form",
labelWidth: 55,
baseCls: "x-plain",
items: {
id: "imgTest",
xtype: "textfield",
fieldLabel: "个人照片",
width: 163,
height: 177,
inputType: "image"
}
}]
}, {
fieldLabel: "身份证号",
width: 400
}, {
fieldLabel: "具体地址",
width: 400
}, {
xtype: "panel",
layout: "column",
baseCls: "x-plain",
bodyStyle: "padding:5px",
defaults: { baseCls: "x-plain" },
items: [{
columnWidth: 0.4,
layout: "form",
labelWidth: 50,
items: {
id: "jobs",
xtype: "combo",
mode: "local",
anchor: "98%",
triggerAction: "all",
displayField: "job",
readOnly: true,
store: new Ext.data.SimpleStore({
fields: ["job"],
data: [['网络工程'], ['软件工程'], ['土木工程']]
}),
fieldLabel: "职位",
listeners: {
"select": function (_combo, _record, _index) {
_combo.selectItem = _record;
}
}
}
}, {
columnWidth: 0.2,
items: {
xtype: "button",
text: "添加职位",
handler: function () {
var _job = Ext.getCmp("jobs");
Ext.MessageBox.prompt("添加职位", "职位名称", function (_btn, _text) {
if (_text == null || _text == "") {
Ext.MessageBox.alert("操作提示", "职位名称不能为空!");
return;
}
if (_btn == "ok") {
// 往下拉列表插入一条数据
this.store.insert(0, new JOB({ job: _text }));
// 设置当前选择的数据
this.setValue(_text);
// 设置第一条数据到 自定义的选择项
this.selectItem = this.store.getAt(0);
}
}, _job);
}
}
}, {
columnWidth: 0.2,
items: {
xtype: "button",
text: "修改职位",
handler: function () {
var _job = Ext.getCmp("jobs");
if (_job.selectItem != null) {
Ext.MessageBox.prompt("修改职位", "职位名称", function (_btn, _text) {
if (_text == null || _text == "") {
Ext.MessageBox.alert("操作提示", "职位名称不能为空!");
return;
}
if (_btn == "ok") {
this.selectItem.set("job", _text);
this.setValue(_text);
}
}, _job, false, _job.getValue());
} else {
Ext.MessageBox.alert('操作提示', '暂无可修改的数据!');
}
}
}
}, {
columnWidth: 0.2,
items: {
xtype: "button",
text: "删除职位",
handler: function () {
var _job = Ext.getCmp("jobs");
if (_job.selectItem != null) {
Ext.MessageBox.confirm("操作提示", "你确认删除当前职位?", function (_btn) {
if (_btn == "yes") {
this.store.remove(this.selectItem);
if (this.store.getCount() != 0) {
this.setValue(this.store.getAt(0).get("job"));
this.selectItem = this.store.getAt(0);
} else {
this.setValue("");
this.selectItem = null;
}
}
}, _job);
} else {
Ext.MessageBox.alert('操作提示', '暂无可删数据!');
}
}
}
}]
}],
showLock: false,
listeners: {
"show": function (_window) {
if (!_window.showLock) {
// 根据类型名和索引得到对象,getEl 是得到HTML元素
//_window.findByType("textfield")[6].getEl().dom.src = "img/default_pic.gif";
// 根据ID得到 Ext对象
Ext.getCmp('imgTest').getEl().dom.src = "img/default_pic.gif";
_window.showLock = true;
}
// 设置职位的默认值为第一项
var _job = Ext.getCmp("jobs");
var _store = _job.store;
// 取得第一项,字段为 job 的值
var jobValue = _store.getAt(0).get("job");
_job.setValue(jobValue);
_job.selectItem = _store.getAt(0);
}
},
buttons: [{
text: "确定",
handler: function () {
// 根据buttons集合的索引得到Ext对象
alert(this.ownerCt.buttons[1].text);
}
}, {
text: "取消"
}]
}).show();
});
</script>
ExtJs 添加员工 实例 ---- 锚点布局 anchor 可自动伸缩的更多相关文章
- FineUI第十二天---锚点布局
锚点布局的典型结构: <x:Panel Layout="Anchor" runat="server"> <Items ...
- 无废话ExtJs 入门教程十六[页面布局:Layout]
无废话ExtJs 入门教程十六[页面布局:Layout] extjs技术交流,欢迎加群(201926085) 首先解释什么是布局: 来自百度词典的官方解释:◎ 布局 bùjú: [distributi ...
- Windows 8实例教程系列 - 布局控制
原文:Windows 8实例教程系列 - 布局控制 与传统应用类似,Windows store应用允许开发人员通过布局控件管理应用UI. 本篇将讨论Windows8布局设计控制. Windows 8布 ...
- asp.net中生成缩略图并添加版权实例代码
这篇文章介绍了asp.net中生成缩略图并添加版权实例代码,有需要的朋友可以参考一下 复制代码代码如下: //定义image类的对象 Drawing.Image image,newimage; //图 ...
- 2014.12.06 ASP.NET 三级联动,添加员工,修改员工
(一)三级联动 要实现的效果: 代码: MyDBDataContext context = new MyDBDataContext(); protected void Page_Load(object ...
- 转:extjs 添加loading状态的三种解决办法:
extjs 添加loading状态的三种解决办法: 方法一: //materialGrid 指需要显示loading状态的控件id var o=Ext.getCmp('materialGrid'); ...
- Springboot:员工管理之添加员工(十(7))
构建员工添加请求 com\springboot\controller\EmployeeController.java /*调转到员工添加页 携带部门信息 restful风格*/ @GetMapping ...
- MySQL InnoDB索引介绍以及在线添加索引实例分析
引言:MySQL之所以能成为经典,不是没有道理的,B+树足矣! 一.索引概念 InnoDB引擎支持三种常见的索引:B+树索引,全文索引和(自适应)哈希索引.B+树索引是传统意义上的索引,构造类似二叉树 ...
- JavaScript实现动态添加员工
html代码: <div id="empAdd"> <fieldset> <legend><strong>添加员工</stro ...
随机推荐
- XMIND
XMind 是一款非常实用的商业思维导图软件,应用全球最先进的Eclipse RCP 软件架构,全力打造易用.高效的可视化思维软件,强调软件的可扩展.跨平台.稳定性和性能,致力于使用先进的软件技术帮助 ...
- cocos2d-x Animation
转自:http://codingnow.cn/cocos2d-x/810.html 这一篇来学习怎么使用cocos2d-x引擎播放帧动画,就是把一帧一帧的图片像电影那样显示出来.1. 首先来了解一下相 ...
- Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 44 bytes) in
最近莫名出现这个错误. 研究一下原因很奇葩呢. 原因:sql获取数据库中数据,取出数据赋给变量,数据太多,超过memory_limit内存设置了. 解决方法:设置memory_limit不建议.优化代 ...
- [React Native] Build a Separator UI component
In this lesson we'll create a reusable React Native separator component which manages it's own style ...
- 代理模式及其在spring与struts2中的体现
代理模式 代理模式有三个角色组成: 1.抽象主题角色:声明了真实主题和代理主题的共同接口. 2.代理主题角色:内部包含对真实主题的引用,并且提供和真实主题角色相同的接口. 3.真实主题角色:定义真实的 ...
- [015]staic成员及staic成员函数
C++primer里面讲过:static成员它不像普通的数据成员,static数据成员独立于该类的任意对象而存在,每个static数据成员是与类关联的对象,并不与该类的对象相关联!这句话可能比较拗口, ...
- Folder and jar
- mysql聚合函数
1.统计一下插入的数据总数 SELECT COUNT(giftCertificateId) AS number FROM gift_certificate WHERE giftCertificateN ...
- 认识CoreData-多线程
CoreData使用相关的技术点已经讲差不多了,我所掌握的也就这么多了.... 在本篇文章中主要讲CoreData的多线程,其中会包括并发队列类型.线程安全等技术点.我对多线程的理解可能不是太透彻,文 ...
- failed to obtain a cell from its dataSource
stroyboard没有绑定标示 没有注册标示 cell为空时没有创建