代码如下:
<!DOCTYPE HTML PUBLIC "-//W 3C //DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Hello World Window Example</title>
<link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" />
< script type="text/javascript" src="../../adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="../../ext-all.js"></script>
<script language="javascript" >
Ext.onReady(function(){
var win;
var button = Ext.get('show-btn');
var data = [['1', 'male', 'name1', 'descn1'], ['2', 'female', 'name2', 'descn2'], ['3', 'male', 'name3', 'descn3'], ['4', 'female', 'name4', 'descn4'], ['5', 'male', 'name5', 'descn5']];
var ds = new Ext.data.Store({
proxy: new Ext.data.MemoryProxy(data),
reader: new Ext.data.ArrayReader({}, [{
name: 'id'
}, {
name: 'sex'
}, {
name: 'name'
}, {
name: 'descn'
}])
});
ds.load();
var cm = new Ext.grid.ColumnModel([{
header: '序号',
dataIndex: 'id'
}, {
header: '性别',
dataIndex: 'sex',
renderer: function(value){
if (value == 'male') {
return "<span style='color:red;font-weight:bold;'>男<//span>";
}
else {
return "<span style='color:green;font-weight:bold;'>女<//span>";
}
}
}, {
header: '名称',
dataIndex: 'name'
}, {
header: '描述',
dataIndex: 'descn'
}]);
var grid = new Ext.grid.GridPanel({
// el:'hello-grid',
region: 'north',
store: ds,
cm: cm,
width: 300,
frame: true,
height: 200
});
grid.on('rowclick',onRowDbClick);
function onRowDbClick(grid,rowIndex,e)
{
var row = grid.store.data.items[rowIndex];
formPanel.form.findField("name").setValue(row.data["name"]);
}
var formPanel = new Ext.form.FormPanel({
labelWidth: 70,
labelAlign: 'right',
height: 300,
// el:'hello-form',
region: 'center',//定位
items: [{
xtype: 'fieldset',
title: '基本信息',
autoHeight: true,
items: [{
layout: 'column',
border: false,
defaults: {
border: false
},
items: [{
columnWidth: .5,
layout: 'form',
defaultType: 'textfield',
defaults: {
width: 120
},
items: [{
xtype: "hidden",
name: "id"
}, {
fieldLabel: '用户名',
name: 'name',
width: 120
}]
}, {
columnWidth: .5,
layout: 'form',
defaultType: 'textfield',
defaults: {
width: 104
},
items: [{
inputType: 'password',
fieldLabel: '密码',
name: 'password'
}]
}]
}, {
layout: 'form',
border: false,
defaults: {
border: false
},
defaultType: 'textfield',
items: [{
width: 300,
name: "email",
fieldLabel: '电子邮箱'
}]
}]
}, {
xtype: 'fieldset',
title: '备注信息',
autoHeight: true,
items: [{
xtype: "textarea",
width: 380,
height: 80,
name: "remark",
hideLabel: true
}]
}]
});
button.on('click', function(){
// create the window on the first click and reuse on subsequent clicks
if(!win){
win = new Ext.Window({
// el:'hello-win',
// layout:'fit',
layout:'border',
width:600,
height:500,
closeAction:'hide',//关闭窗口时渐渐缩小
plain: true,
items:[formPanel,grid],
buttons: [{
text:'Submit',
disabled:true
},{
text: 'Close',
handler: function(){
win.hide();
}
}]
});
}
win.show(this);
});
});
</script>
<!-- Common Styles for the examples -->
<link rel="stylesheet" type="text/css" href="../examples.css" />
<style type="text/css">
.x-panel-body p {
margin:10px;
font-size:12px;
}
</style>
</head>
<body>
<script type="text/javascript" src="../examples.js"></script><!-- EXAMPLES -->
<input type="button" id="show-btn" value="Hello World" /><br /><br />
<
<div id="hello-win" class="">
<div id="hello-grid"></div>
<div id="hello-form" >
</div>
</div>
</body>
</html>