请帮我看一个小问题可以吗?谢谢!!

helingling678 2004-03-22 09:26:09
已知在IE中显示一个表,表有sname,sgre,sno三个字段。当点击表中的“编辑”字样后,某一行便处于编辑状态,这时,原来的“编辑”两个字的位置变成“更新”和“取消”。下面的代码便是处理“更新”的。
我看不懂第1句、第3句、第6句。麻烦您给我讲讲好吗?我有点笨,给我讲详细一点吧。我等着看结果。谢谢。
// 给参数赋值
String colvalue=((TextBox)E.Item.Cells[3].Controls[0]).Text; //1
cm.Parameters["@SName"].Value=colvalue;//2
colvalue=((TextBox)E.Item.Cells[4].Controls[0]).Text;//3
cm.Parameters["@SGRE"].Value=colvalue;//4
cm.Parameters.Add(new SqlParameter("@SNO",SqlDbType.BigInt));//5
cm.Parameters["@SNO"].Value=myGrade.DataKeys[(int)E.Item.ItemIndex];//6
...全文
17 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiangyangsunboy1 2004-03-22
  • 打赏
  • 举报
回复
E.Items.Cells 就代表你正在编辑的行(表格中的一行),而E.Items.Cells[3].Controls[0]就表示该行的第四个单元格的第一个控件,在编辑状态下就是文本框了。
myGrade.DataKeys表示的是在绑定的过程中指定的主键列,因为你更新的时候必须指定主键列,所以这个东西就特别有用了,
E.Item.ItemIndex 就代表该行的位置,那么myGrade.DataKeys[(int)E.Item.ItemIndex];就是该行对应的主键的值了。

//
duibudui 2004-03-22
  • 打赏
  • 举报
回复
1,3 当前cell里textbox的值
6 DataList里key=[(int)E.Item.ItemIndex的value
wangsaokui 2004-03-22
  • 打赏
  • 举报
回复
1和3、String colvalue=((TextBox)E.Item.Cells[3].Controls[0]).Text; //1
取得当前第4列的值和第5列的值

6
编辑 DataGrid 的一行时,EditCommandColumn 将呈现 Update 和 Cancel 链接。如果客户端选择 Cancel,只需将 EditItemIndex 设置回 -1。但是,如果客户端选择 Update,则需要对数据库执行更新命令。执行更新查询要求知道希望更新的行的数据库中的主键。为支持此要求,DataGrid 公开一个可以设置为主键字段名的 DataKeyField 属性。在连到 UpdateCommand 的事件处理程序中,可以从 DataGrid 的 DataKeys 集合检索键名。使用事件的 ItemIndex 在此集合中索引,如下面的示例所示。

我不懂电脑 2004-03-22
  • 打赏
  • 举报
回复
String colvalue=((TextBox)E.Item.Cells[3].Controls[0]).Text; //1
把单元格[3]转换为textBox取他的内容
2 cm中参数位sname的值=colvalue
3和1一样
walkinhill 2004-03-22
  • 打赏
  • 举报
回复
E.Items.Cells 就代表你正在编辑的行(表格中的一行),而E.Items.Cells[3].Controls[0]就表示该行的第四个单元格的第一个控件,在编辑状态下就是文本框了。

myGrade.DataKeys表示的是在绑定的过程中指定的主键列,因为你更新的时候必须指定主键列,所以这个东西就特别有用了,

E.Item.ItemIndex 就代表该行的位置,那么myGrade.DataKeys[(int)E.Item.ItemIndex];就是该行对应的主键的值了。

111,093

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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