代码如下:

<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 可自动伸缩的更多相关文章

  1. FineUI第十二天---锚点布局

    锚点布局的典型结构: <x:Panel Layout="Anchor" runat="server">              <Items ...

  2. 无废话ExtJs 入门教程十六[页面布局:Layout]

    无废话ExtJs 入门教程十六[页面布局:Layout] extjs技术交流,欢迎加群(201926085) 首先解释什么是布局: 来自百度词典的官方解释:◎ 布局 bùjú: [distributi ...

  3. Windows 8实例教程系列 - 布局控制

    原文:Windows 8实例教程系列 - 布局控制 与传统应用类似,Windows store应用允许开发人员通过布局控件管理应用UI. 本篇将讨论Windows8布局设计控制. Windows 8布 ...

  4. asp.net中生成缩略图并添加版权实例代码

    这篇文章介绍了asp.net中生成缩略图并添加版权实例代码,有需要的朋友可以参考一下 复制代码代码如下: //定义image类的对象 Drawing.Image image,newimage; //图 ...

  5. 2014.12.06 ASP.NET 三级联动,添加员工,修改员工

    (一)三级联动 要实现的效果: 代码: MyDBDataContext context = new MyDBDataContext(); protected void Page_Load(object ...

  6. 转:extjs 添加loading状态的三种解决办法:

    extjs 添加loading状态的三种解决办法: 方法一: //materialGrid 指需要显示loading状态的控件id var o=Ext.getCmp('materialGrid'); ...

  7. Springboot:员工管理之添加员工(十(7))

    构建员工添加请求 com\springboot\controller\EmployeeController.java /*调转到员工添加页 携带部门信息 restful风格*/ @GetMapping ...

  8. MySQL InnoDB索引介绍以及在线添加索引实例分析

    引言:MySQL之所以能成为经典,不是没有道理的,B+树足矣! 一.索引概念 InnoDB引擎支持三种常见的索引:B+树索引,全文索引和(自适应)哈希索引.B+树索引是传统意义上的索引,构造类似二叉树 ...

  9. JavaScript实现动态添加员工

    html代码: <div id="empAdd"> <fieldset> <legend><strong>添加员工</stro ...

随机推荐

  1. MySQL的安装——源码方式(实验环境下测试用,真实环境请忽略此文)

    #虚拟机是最初的的系统,我们在虚拟机里安装scp [root@serv01 ~]# yum install /usr/bin/scp -y #安装过程略 #我们拷贝MySQL的源码包到目标机的/roo ...

  2. 【转】linux中的sed命令

    转自:http://www.cnblogs.com/shineshqw/articles/1978122.html 功能说明: 利用script来处理文本文件. 语 法:sed [-hnV][-e&l ...

  3. .@RequestMapping 使用方法

    1.@RequestMapping  使用方法  SpringMVC中,@RequestMapping用来处理请求,比方XXX.do @RequestMapping("/aaa") ...

  4. 经常使用的webservice接口

    Web Service 一些对外公开的网络服务接口 2011-10-29 14:12 商业和贸易: 1.股票行情数据 WEB 服务(支持香港.深圳.上海基金.债券和股票:支持多股票同一时候查询) En ...

  5. shell修改文件名(二)

    我想修改类似如下一批文件的文件名:AA01_01.txtAA01_02.txtAA01_03.txtAA01_04.txt 修改成BB02_01.txtBB02_02.txtBB02_03.txtBB ...

  6. [React Fundamentals] Component Lifecycle - Mounting Basics

    React components have a lifecycle, and you are able to access specific phases of that lifecycle. Thi ...

  7. linux之Apache

    apache  在linux下命令 2. 编译Apache 在src目录下 ./configure 可用 ./configure--help|less 得到帮助, make, make install ...

  8. Forms and actions

    Forms and actions Adding new albums We can now code up the functionality to add new albums. There ar ...

  9. Wireshark 过滤条件

    做应用识别这一块经常要对应用产生的数据流量进行分析. 抓包采用wireshark,提取特征时,要对session进行过滤,找到关键的stream,这里总结了wireshark过滤的基本语法,供自己以后 ...

  10. nginx性能配置参数说明:

    nginx的配置:main配置段说明一.正常运行的必备配置: 1.user username [groupname]; 指定运行worker进程的用户和组 2.pid /path/to/pidfile ...