87,921
社区成员
发帖
与我相关
我的任务
分享
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; charset=gb2312" http-equiv="Content-Type" />
<title></title>
<link rel="stylesheet" type="text/css" href="extjs/resources/css/ext-all.css" />
</head>
<body style="padding:15px;">
<div id="grid_panel"></div>
<iframe name="hf" src="about:blank" style="display:none;"></iframe>
<script type="text/javascript" src="extjs/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="extjs/ext-all.js"></script>
<script type="text/javascript">
//<![CDATA[
var oForm, oGrid;
var aData = [["节目1","10:00","12:00"]];
var oProg = Ext.data.Record.create([{name:'prog_name'},{name:'start_time'},{name:'end_time'}]);
var oStore = new Ext.data.Store({
proxy:new Ext.data.MemoryProxy(aData),
reader:new Ext.data.ArrayReader({},oProg)
});
oStore.load();
function addHandler(){
oGrid.stopEditing();
var last_rd = oStore.getAt(oStore.getCount()-1);
var rd = new oProg({prog_name:'',start_time:last_rd.get('end_time'),end_time:''});
oStore.add(rd);
oGrid.startEditing(oStore.getCount()-1, 0);
}
function delHandler(){
var sm = oGrid.getSelectionModel();
var rds = sm.getSelections();
for(var i=0;i<rds.length;i++){
oStore.remove(rds[i]);
}
}
function doMouseDown(oObj, iIndex){
var oSM = oObj.getSelectionModel();
oSM.clearSelections();
oSM.selectRow(iIndex, true);
}
var oSM = new Ext.grid.CheckboxSelectionModel();
oSM.handleMouseDown = doMouseDown;
var cm = new Ext.grid.ColumnModel([
new Ext.grid.RowNumberer(),
oSM,
{header:"节目名称",dataIndex:'prog_name',width:80,editor:new Ext.form.TextField({allowBlank:false,listeners:{
focus:function(obj){
var sm = oGrid.getSelectionModel();
var rd = sm.getSelected();
this.rdid = rd.id;
},
change :function(obj){
var val = obj.getRawValue();
var rd = oStore.getById(this.rdid);
rd.set("prog_name", val);
}}
})},
{header:"开始时间",dataIndex:'start_time',width:80,editor:new Ext.form.TextField({allowBlank:false,listeners:{
focus:function(obj){
var sm = oGrid.getSelectionModel();
var rd = sm.getSelected();
this.rdid = rd.id;
},
change :function(obj){
var val = obj.getRawValue();
var rd = oStore.getById(this.rdid);
rd.set("start_time", val);
}}
})},
{header:"结束时间",dataIndex:'end_time',width:80,editor:new Ext.form.TextField({allowBlank:false,listeners:{
focus:function(obj){
var sm = oGrid.getSelectionModel();
var rd = sm.getSelected();
this.rdid = rd.id;
},
change :function(obj){
var val = obj.getRawValue();
var rd = oStore.getById(this.rdid);
rd.set("end_time", val);
}}
})}
]);
function init(){
oGrid = new Ext.grid.EditorGridPanel({
renderTo:"grid_panel",
title:"节目列表",
monitorResize:true,
autoHeight:true,autoWidth:true,
sm:oSM,
frame:true,width:470,
clicksToEdit:1,
tbar:[
{xtype:'tbbutton',icon:'images/add.gif',text:'添加节目',cls:"x-btn-text-icon",handler:addHandler},
{xtype:'tbbutton',icon:'images/del.gif',text:'删除所选节目',cls:"x-btn-text-icon",handler:delHandler},
{xtype: 'tbspacer'}
],
cm:cm,
store:oStore
// autoExpandColumn:3,
});
}
window.onload = function(){
Ext.onReady(init);
}
//]]>
</script>
</body>
</html>