代码如下:

<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. 如何使用Linux通用后门(转zafe)

    特别提示:仅用于安全测试和教学,禁止非法用途. 标题党了,呵呵 其实就是个ssh后门,基本可以不用看内核版本,很简单,为照顾新手! ********************************** ...

  2. 【iOS知识学习】_iOS动态改变TableView Cell高度

    在做tableView的时候,我们有时候须要依据cell的高度动态来调整.近期在网上看到一段代码不错.跟大家Share一下. 在 -(UITableViewCell *)tableView:(UITa ...

  3. hdu 5480 Conturbatio 线段树 单点更新,区间查询最小值

    Conturbatio Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=54 ...

  4. 使用RecyclerView写树形结构的TreeRecyclerView

    简单介绍 android是不提供树形控件的,假设须要使用树形控件.我们应该怎么做呢? 先看效果 上图是一个明显的树形结构 实现原理 在逻辑上,它们是包括关系.数据结构上是多叉树,这是毋庸置疑的. 可是 ...

  5. [MODx] 7. MIGX DB

    MODx provides a really unfriendly way to work with xPDO class. What I means is you need to define XM ...

  6. RapidXml用法

    一.写xml 文件 #include <iostream> #include "rapidxml/rapidxml.hpp" #include "rapidx ...

  7. android学习日记03--常用控件progressbar/seekbar

    常用控件 5.progressbar 进度条,比较常用的组件,在某些操作的进度中的可视指示器,为用户呈现操作的进度,还它有一个次要的进度条,用来显示中间进度,如在流媒体播放的缓冲区的进度.一个进度条也 ...

  8. JavaScript(20)jQuery HTML 加入和删除元素

    jQuery - 加入元素 通过 jQuery,能够非常easy地加入新元素/内容. 加入新的 HTML 内容的四个 jQuery 方法: append() - 在被选元素的结尾插入内容 prepen ...

  9. Android HTTPS如何10分钟实现自签名SSL证书

    前言 去年公司内一个应用加了支付宝支付功能,为了保证安全,支付请求链接写成了https. 由于公司服务器使用的是的自签名证书,而在Android系统中自己签署的不能通过验证的,所以会抛出错误. 于是我 ...

  10. docker container link

    http://blog.csdn.net/kongxx/article/details/38676917