大侠请帮忙!

wangdeqie 2009-04-28 10:33:20
最近在做毕业设计,WEB开发不太懂,基本零起步,时间快不够了,想请问下这个功能思路:
http://extjs.org.cn/extjs/examples/grid/edit-grid.html
这是一个可编辑的Grid EXT例子,我的Grid 是个节目表,里面的每横项都是一个节目,节目的属性信息(节目长度、起止时间等)都存储在数据库表里,每当我添加新的节目时,新节目的起始时间是自动添加的,是根据上一个节目的终止时间算的。

大侠,这一功能的实现思路是什么?要调用哪些函数及顺序,(我要画流程图),谢谢!
...全文
142 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 wangdeqie 的回复:]
再弱弱的问下, 请问有ajax连接数据库 显示数据的示例代码吗?,我google了下没找到合适的
[/Quote]
汗!!没有什么合适的,看人家例子,根据人家思想来分析自己要的效果是个什么思想,然后再去写代码
wangdeqie 2009-04-28
  • 打赏
  • 举报
回复
再弱弱的问下, 请问有ajax连接数据库 显示数据的示例代码吗?,我google了下没找到合适的

hookee 2009-04-28
  • 打赏
  • 举报
回复

<!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>

xiaojing7 2009-04-28
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wangdeqie 的回复:]
To xiaojing7
你说这些是设计阶段的内容,我已做了,我现在要是的具体实现代码的思路,有类似功能代码做参考最好了

[/Quote]
========================
思路不就是我上的,也就是怎么实现。
具体怎么写代码总不能也这么定义参数,怎么定义函数名,难道也要这么死板死套吗?
具体也就这么点东西!!!
wangdeqie 2009-04-28
  • 打赏
  • 举报
回复
To luojihaidao

你说这些设计需求思路我也想到了,JS开发具体代码我不知道大概该怎么写!
wangdeqie 2009-04-28
  • 打赏
  • 举报
回复
To xiaojing7
你说这些是设计阶段的内容,我已做了,我现在要是的具体实现代码的思路,有类似功能代码做参考最好了
luojihaidao 2009-04-28
  • 打赏
  • 举报
回复
节目的属性信息(节目长度、起止时间等)都存储在数据库表里,每当我添加新的节目时,新节目的起始时间是自动添加的,是根据上一个节目的终止时间算的。


你的意思是: 先把数据库中的数据展示出来, 然后用户可以现添加数据是这样吗?



那你就在添加是获取最后一行的结束时间呀。


街头小贩 2009-04-28
  • 打赏
  • 举报
回复
DC看图
xiaojing7 2009-04-28
  • 打赏
  • 举报
回复
首先你在添加新节目的之前要算好开始时间,当然有节目编号,查找上一个节目的结束日期,然后就计算出这个节目的开始日期。
根据添加节目时候,节目时间(这个节目演多久)--》算出节目的技术时间。
最后保存的数据库中

这是基本的操作流程了
当然数据库设计要看你的基本需求了,不过最起码需要有编号,节目名称,节目开始时间,节目结束时间,节目长度,备注....
才用什么语言以及数据库调用,就看你个人怎么写了
luojihaidao 2009-04-28
  • 打赏
  • 举报
回复
把上一个节点的值赋值给要加入的节点,不就可以了吗?

第一个节点的值 first.innerHTML = new Date().getTime(); (这是客户端时间)。

非第一 nofirst.innerHTML = up.innerHTML ;

87,921

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧