我查看了很多的关于 DATAGRID 的多行数据更新的,贴子,我还是没弄明白,怎么也没达到我想达到的要求!所以再次求问!
学校的教学管理,有学生的学号, 姓名,是已经保存在数据库中的,但是语文,数学,外语成绩(还是默认值0分)要不同的教师(或者是不同的教学单位)根据考试的情况添加到数据库表中.
要在web页面上实现,怎么才能实现 datagrid 多行数据同时显示为文本框(可编辑状态), 数据更改后再一起更新!
学校的教学管理,有学生的学号, 姓名,是已经保存在数据库中的,但是语文,数学,外语成绩(还是默认值0分)要不同的教师(或者是不同的教学单位)根据考试的情况添加到数据库表中.
要在web页面上实现,怎么才能实现 datagrid 多行数据同时显示为文本框(可编辑状态), 数据更改后再一起更新!
解决方案 »
- 如何通过请求路径来获取处理请求的页面类
- 想把html代码在.net 的cs文件中输出,怎么写呢?
- 100分,求租用空间的建议!
- 关于DataGrid的更新问题~~~高手请进。
- 简单问题请教,谢谢!
- 谁见过这样的树啊?有单选按钮的,由复选框的,支持客户端脚本,支持动态读取的
- ====简单的数据更新问题。解决就给分====
- ASP.NET和SqlServer做个人微博流程大神谁知道的指导下小弟呗谢谢啦
- Asp.net如何制作博客中的热门标签排名和搜索?
- <-----谁有WebBrowser控件的ExecWB(资料),50分相送----->
- 怎样在客户端动态产生<input type=file id=name1>控件,并被服务端控件识别和调用?谢谢!!!!
- 网站封IP怎么实现?
你说“用摸板列只能实现当前行以文本框形式显示,不能多行同时用文本框显示!”
是怎么回事?迷惑ing……
既然用了摸板列,那就能够把任意行以任意形式显示的呀
{
if(event.keyCode==13)
{
event.keyCode=9;
return true;
}
}document.onkeydown=keyDown;加在 head标签 中.....
回 boytomato(深爱一人叫颖的女孩!)
我按你的回答,建了一个可多行更新的表,可以添加数据入数据库表,但不能更新,按更新数据表提示为:更新数据表失败,出现意外错误:索引超出范围。必须为非负值并小于集合大小。参数名: index .
不知错误源!
象这些地方你注意一下...
dgitem.Cells[i] 注意一下i 的值....
不爽的话建义用 findcontrol["id"] , id 为控件 id
http://218.27.204.17/aspnet/a_user.aspx
{
try
{
foreach(DataGridItem ii in DataGrid1.Items)
{
DataRow r; r = dataSet11.Storage_IniStock.Rows.Find(int.Parse(ii.Cells[6].Text)); if(ii.ItemType == ListItemType.Item||ii.ItemType == ListItemType.AlternatingItem)
{
r["mtralcode"] = ((TextBox)ii.FindControl("tb")).Text.Trim();
}
}
adp.Update(dataSet11);
Label1.Text = "保存成功...";
}
catch{ Label1.Text = "保存失败,请确认没有重复的物资编码...";} }
dgitem.Cells[i] 注意一下i 的值....
controls[j] 注意 j 值....
/*实现功能:
输入回车键,移动到下一个可以输入、选择的控件;
在DataGrid中,输入向下键,复制数据到该列下一个控件,并移动到该处;
输入向上键,移动到该列上一个控件。
*/
document.onkeydown=keyEnterfunction keyEnter(e)
{
var srcElement=window.event.srcElement;
var iKeyCode=window.event.keyCode; if(iKeyCode==13||(srcElement.name.indexOf('_ctl', 0) > 0&&(iKeyCode==40||iKeyCode==38)))
{
if(srcElement.tagName=="INPUT"&&(srcElement.type=="button"||srcElement.type=="submit"||srcElement.type=="reset"||srcElement.type=="image"))
{
return false;
}
if (srcElement.tagName=="INPUT"||srcElement.tagName=="SELECT")
{
if(iKeyCode!=38)
{
if(srcElement.onchange!=null)
{
var SrcValue=srcElement.value;
srcElement.onchange();
}
var i = 0;
while (srcElement!=srcElement.form.elements[i])
{
i++;
if(srcElement.form.elements.length==i) //一进找到最后一个元素
{
return false;
}
}
//继续循环找到非Disabled和readOnly
var NextElement=srcElement.form.elements[i+1];
for(j=i+1;j<srcElement.form.elements.length;j++)
{
NextElement=srcElement.form.elements[j];
if(NextElement.readOnly||(NextElement.disabled==true||NextElement.disabled=='disabled')||NextElement.style.display=="none")
{
NextElement=null;
continue;
}
/*****************************
回车时候屏蔽掉提交按钮
**********************/
//if(srcElement.form.name!="Login")
//{
if(NextElement.tagName=="INPUT"&&(NextElement.type=="button"||NextElement.type=="submit"||NextElement.type=="reset"||srcElement.type=="image"))
{
NextElement=null;
continue;
}
//}
/*****************************/
if(NextElement.tagName=="INPUT")
{
if(NextElement.type=="hidden")
{
NextElement=null;
continue;
}
}
if(srcElement.name.indexOf('_ctl', 0) > 0&&iKeyCode==40)
{
if(NextElement.name.indexOf('_ctl', 0) > 0)
{
var Srcname = srcElement.name.split(":");
var NextName = NextElement.name.split(":");
if(Srcname[2]!=NextName[2])
{
NextElement=null;
continue;
}
else
{
NextElement.value=srcElement.value;
}
}
else
{
NextElement=null;
continue;
}
}
break;
}
}
else
{
var i = 0;
while (srcElement!=srcElement.form.elements[i])
{
i++;
if(srcElement.form.elements.length==i) //一进找到最后一个元素
return false;
}
//继续循环找到非Disabled和readOnly
var NextElement=srcElement.form.elements[i-1];
for(j=i-1;j>0;j--)
{
NextElement=srcElement.form.elements[j];
if(NextElement.readOnly||(NextElement.disabled==true||NextElement.disabled=='disabled')||NextElement.style.display=="none")
{
NextElement=null;
continue;
}
/*****************************
回车时候屏蔽掉提交按钮
**********************/
if(NextElement.tagName=="INPUT"&&(NextElement.type=="button"||NextElement.type=="submit"||NextElement.type=="reset"||srcElement.type=="image"))
{
NextElement=null;
continue;
}
/*****************************/
if(NextElement.tagName=="INPUT")
{
if(NextElement.type=="hidden")
{
NextElement=null;
continue;
}
}
if(srcElement.name.indexOf('_ctl', 0) > 0)
{
if(NextElement.name.indexOf('_ctl', 0) > 0)
{
var Srcname = srcElement.name.split(":");
var NextName = NextElement.name.split(":");
if(Srcname[2]!=NextName[2])
{
NextElement=null;
continue;
}
}
else
{
NextElement=null;
continue;
}
}
break;
}
}
if(NextElement)
{
if(srcElement.tagName=="INPUT"&&srcElement.type=="file")
;
else
window.event.keyCode=0;
try
{
NextElement.focus();
}
catch(e1)
{
;
}
if(NextElement.tagName=="INPUT")
{
if(NextElement.type=="text"||NextElement.type=="password")
NextElement.select();
}
}
}
return false;
}
}
http://blog.csdn.net/masterlrc/archive/2005/02/01/276570.aspx