有以下任务,请各位高手指点应怎样实现为好:1:数据为主从结构(如主表:学生姓名、班级;从表:每科成绩)
2、要求在一个[页面A]上完成主从表数据录入。主表字段可用TextBox;从表用DataGrid,并加Button(添加),每按一次“添加”弹出[页面B],输入从表(每科成绩),提交后在[页面A]的DataGrid中反映(添加行显示)。
3、所有数据录入完成后,提交[页面A],保存数据到数据库。请各位说说现实方法。多谢。
2、要求在一个[页面A]上完成主从表数据录入。主表字段可用TextBox;从表用DataGrid,并加Button(添加),每按一次“添加”弹出[页面B],输入从表(每科成绩),提交后在[页面A]的DataGrid中反映(添加行显示)。
3、所有数据录入完成后,提交[页面A],保存数据到数据库。请各位说说现实方法。多谢。
解决方案 »
- onclick调用外部js文件中的函数
- 如何 赋 Hashtable 为空值?
- 帮忙修改一个全选问题(由iframe改为了母板没有from了怎么办呢?)
- 为什么我建一个asp.net的项目,哪怕里面什么都没有,用VS打开浏览器的进度条一直停在那,没提示任何错误
- Server.MapPath()问题
- weilin0378接分
- 关于ASP.NET的一个简单问题
- 哪位大老给提供一个VS.NET2003的下载!造福人民,振兴中化软件事业的大好事啊!
- 关于modalDialog的问题!(高手们来看一看)谢谢。
- 关于多帧总不刷新的苦恼问题
- 虚心请教——————————————————————在线等!!!!
- 如何在代码中绑定datagrid的数据?
我想,你可以在B页面中,放一个按钮,在录入完成之后,点击此按钮,然后至后台代码中,循环DATAGRID控件,取出每一行中各列的值,用脚本的方式向A页面中的输入框写入值,语句如下:
for(int i.....)//循环datagrid
{
this.Response.Write("<script>opener.document.all('A页面中输入框的客户端ID').value = '" + 循环中取到的值 + "';</script>");
}如上,B页面中添加的值,可顺利返回到A页面中.不过,我觉得楼主的方法不是很好.我觉得应当在一个页面中实现.而且最好用DATALIST控件实现.点击某行记录,提交页面,将该行变成一个新的DATAGRID控件,然后顺序添加,也就是在DATALIST控件中再套一个DATAGRID控件.
当然这样做会麻烦一点,但用户界面可能会更好一点.
要是做主从表的录入就是先录主表 在录从表 注意主外健的关系就好了
没有什么大不了的
要是做先缓存 最后点提交按钮一次保存的话就有点复杂了我可以提供几个思路
1、主从表都加以个字段IsTemp,临时存的数据IsTemp字段都存Y,点保存的时候Update .. set IsTemp='N' Where ... and IsTemp='Y';
2、建林师表存这些东西 最后提交的时候 insert into 正式表 select * from 临时表 where 条件
第一第二种方法注意区分各个用户 不要搞混了
3、将主从表的东西取出到dataset中 然后将dataset保存在Session中 增加的时候对dataset进行操作 最后提交的时候再保存进数据库
4、方法同3,不同点为dataset保存为xml文件 而不是session
//当打开的窗口关闭时会执行下面的语句
document.all.btnFresh.click();
在A页面的Page_Load()事件中的isPost外面也就是每次刷新都能起作用。加入对DataGrid的谤定事件。注意每次都谤定当前学生对应的从表数据。当然标志isAdd为0的。也就是每次在B页面中加完从表数据。回到A页面都重新谤定一下A页面的从表datagrid.最后点保存将主表内容录入。从表从容更新。即把isAdd标志UPDATE为1为避免在添加新学生主从表时从表中存在isAdd为0 的.可以在A页面的page_Load事件的!isPostBack中删除从表中isAdd为0的数据。因为数据库中只有isAdd为1的数据是有用的。为0的只是过度数据。当点击A页面的保存时从表中就不存在isAdd为1的数据。
1、打开 页面A 时,根据主表KEY,从数据库中取出主表、从表数据,以XML形式或DataSet返回客户端,将数据显示在 页面A;
2、对 页面A 中的数据进行编辑(主表字段用TEXTBOX,从表用DATAGRID);对从表DataSet进行增删改,可以在同一页面,不一定要打开另外的页面;
3、将修改好的 页面A 中的数据以XML或DataSet返回服务器,将数据存入数据库。不知道这个流程怎么实现,恳请各位高手赐教!