帮帮忙!DATAGRID更新时出现:指定的参数已超出有效值的范围。参数名: index 怎么办啊

snowshaken 2008-07-17 09:56:17
Private Sub ResourceInList_UpdateCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles ResourceInList.UpdateCommand
Dim shebeibianhao, shebeimingcheng, shebeiguige, lingyongren, lingyongriqi, lingyongbumen, bdbh As TextBox


bdbh = e.Item.Cells(1).Controls(1)

shebeibianhao = e.Item.Cells(1).Controls(0)
shebeimingcheng = e.Item.Cells(2).Controls(0)
shebeiguige = e.Item.Cells(3).Controls(0)
lingyongbumen = e.Item.Cells(4).Controls(0)
lingyongren = e.Item.Cells(5).Controls(0)
lingyongriqi = e.Item.Cells(6).Controls(0)


Dim myConn As New SqlClient.SqlConnection
Dim myCmd As New SqlClient.SqlCommand
Dim myDataAdapter As New SqlClient.SqlDataAdapter
Dim connstr As String
connstr = ConfigurationSettings.AppSettings("dsn")
myConn.ConnectionString = connstr
myConn.Open()

myCmd.CommandText = "update tblshebeilingyong set shebeibianhao=@shebeibianhao,shebeimingcheng=@shebeimingcheng,shebeiguige=@shebeiguige,lingyongbumen=@lingyongbumen,lingyongyuangong=@lingyongren,lingyongriqi=@lingyongriq where bdbh=@bdbh"



myCmd.Parameters.Clear()
myCmd.Parameters.Add(New SqlClient.SqlParameter("@shebeibianhao", SqlDbType.VarChar, 50))
myCmd.Parameters.Add(New SqlClient.SqlParameter("@shebeimingcheng", SqlDbType.VarChar, 50))
myCmd.Parameters.Add(New SqlClient.SqlParameter("@shebeiguige", SqlDbType.VarChar, 200))
myCmd.Parameters.Add(New SqlClient.SqlParameter("@shebeizhuangtai", SqlDbType.VarChar, 50))
myCmd.Parameters.Add(New SqlClient.SqlParameter("@lingyongriqi", SqlDbType.SmallDateTime, 4))
myCmd.Parameters.Add(New SqlClient.SqlParameter("@lingyongbumen", SqlDbType.VarChar, 50))
myCmd.Parameters.Add(New SqlClient.SqlParameter("@lingyongren", SqlDbType.VarChar, 50))
myCmd.Parameters.Add(New SqlClient.SqlParameter("@bdbh", SqlDbType.VarChar, 50))


myDataAdapter.SelectCommand.Parameters("@shebeibianhao").Value = Trim(shebeibianhao.text)
myDataAdapter.SelectCommand.Parameters("@shebeimingcheng").Value = Trim(shebeimingcheng.text)
myDataAdapter.SelectCommand.Parameters("@shebeiguige").Value = Trim(shebeiguige.text)
myDataAdapter.SelectCommand.Parameters("@lingyongriqi").Value = Trim(lingyongriqi.text)
myDataAdapter.SelectCommand.Parameters("@lingyongbumen").Value = Trim(lingyongbumen.Text)
myDataAdapter.SelectCommand.Parameters("@lingyongren").Value = Trim(lingyongyuangong.Text)
myDataAdapter.SelectCommand.Parameters("@bdbh").Value = ResourceInList.DataKeys.Item(e.Item.ItemIndex)

myConn.Open()
myCmd.ExecuteNonQuery()
myConn.Close()
ResourceInList.EditItemIndex = -1
BindResourceInData()



End Sub
--------------------------------------------------------------------------------------------------------


指定的参数已超出有效值的范围。参数名: index
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.ArgumentOutOfRangeException: 指定的参数已超出有效值的范围。参数名: index

源错误:


行 194:
行 195:
行 196: bdbh = e.Item.Cells(1).Controls(0)
行 197:
行 198: shebeibianhao = e.Item.Cells(1).Controls(0)


源文件: D:\工作\系统开发\Project\Office\shebeilingyong.aspx.vb 行: 196

堆栈跟踪:


[ArgumentOutOfRangeException: 指定的参数已超出有效值的范围。
参数名: index]
System.Web.UI.ControlCollection.get_Item(Int32 index) +58
_3JMIS.shebeilingyong.ResourceInList_UpdateCommand(Object source, DataGridCommandEventArgs e) in D:\工作\系统开发\3JMIS\Project\Office\shebeilingyong.aspx.vb:196
System.Web.UI.WebControls.DataGrid.OnUpdateCommand(DataGridCommandEventArgs e) +109
System.Web.UI.WebControls.DataGrid.OnBubbleEvent(Object source, EventArgs e) +507
System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +26
System.Web.UI.WebControls.DataGridItem.OnBubbleEvent(Object source, EventArgs e) +100
System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +26
System.Web.UI.WebControls.LinkButton.OnCommand(CommandEventArgs e) +120
System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +115
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +138
System.Web.UI.Page.ProcessRequestMain() +1277




--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:1.1.4322.573; ASP.NET 版本:1.1.4322.573
...全文
456 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yagebu1983 2008-07-17
  • 打赏
  • 举报
回复
调试看看!!
snowshaken 2008-07-17
  • 打赏
  • 举报
回复
up
tengjian1981 2008-07-17
  • 打赏
  • 举报
回复
直接用String,不需要用控件,e.Item.Cells(1).Text
snowshaken 2008-07-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 greystar 的回复:]
.Cells(1).Controls.Count==?
有没有值呢.看过了没有啊.
[/Quote]

看了,为什么会是0啊

<Columns>
<asp:BoundColumn Headertext="领用单号" DataField="bdbh" ReadOnly="True" />
<asp:BoundColumn Headertext="设备编号" DataField="shebeibianhao" ReadOnly="True" />
<asp:BoundColumn Headertext="设备名称" DataField="shebeimingcheng" ReadOnly="True" />
<asp:BoundColumn Headertext="设备规格" DataField="shebeiguige" ReadOnly="True" />
<asp:BoundColumn Headertext="领用部门" DataField="lingyongbumen" ReadOnly="True" />
<asp:BoundColumn Headertext="领用人" DataField="lingyongyuangong" ReadOnly="True" />
<asp:BoundColumn Headertext="领用日期" DataField="lingyongriqi" ReadOnly="True" />
<asp:BoundColumn Headertext="录入日期" DataField="dengluriqi" ReadOnly="True" />
<asp:EditCommandColumn UpdateText="更新" CancelText="取消" EditText="编辑" HeaderText="操作" />
</Columns>
snowshaken 2008-07-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 greystar 的回复:]
.Cells(1).Controls.Count==?
有没有值呢.看过了没有啊.
[/Quote]

怎么看啊
greystar 2008-07-17
  • 打赏
  • 举报
回复
.Cells(1).Controls.Count==?
有没有值呢.看过了没有啊.
大家好,又见面了!EasyUI又更新了,这次更新内容还是不少的,具体内容请参考下面的更新说明,官方的更新说明中还少了1条,我给补上了。 jQuery EasyUI 1.3.5版本更新内容: Bug(修复) searchbox:修复“searcher”函数提供的“name”参数值错误的问题; combo:修复“isValid”方法无法返回布尔值的问题; combo:修复点击页面某一个combo组件的下拉列表触发的“onHidePanel”事件会导致页面上其他combo组件的下拉列表被关闭的问题; combogrid:修复某些从combo组件继承来的方法无法使用的问题。 Improvement(改进) datagrid:改进检查行候的性能; menu:允许追加菜单分隔符; menu:新增“hideOnUnHover”属性用于在鼠标离开菜单的候指示是否需要隐藏菜单; slider:新增“clear”和“reset”方法; tabs:新增“unselect”方法、“onUnselect”事件; tabs:新增“selected”属性,用于指定的默认打开的面板; tabs:Tab Panel(Tab页)新增“collapsible”属性,用于设置是否允许摺叠面板; tabs:新增“showHeader”属性、“showHeader”方法和“hideHeader”方法; combobox:允许“disabled”属性禁用下拉列表选项; tree:改进数据加载候的性能; pagination:新增“layout”属性,用于自定义控件的样式布局; accordion:新增“unselect”方法、“onUnselect”事件; accordion:新增“select”和“multiple”属性; accordion:新增“getSelections”方法; datebox:新增“sharedCalendar”属性,允许多个datebox控件共享使用同一个calendar控件。 datebox:新增“buttons”属性,用于自定义日历下方的按钮。 (译者注:该点更新内容官方更新公告上没有注明,具体内容和用法请看datebox的API。) 历史版本: - jQuery EasyUI 1.3.4 离线API简体中文版 http://download.csdn.net/detail/richie696/6302785 - jQuery EasyUI 1.3.4 离线API简体中文版 http://download.csdn.net/detail/richie696/5363933
(题外话:从本次开始 我新增了jQuery EasyUI的专题页面 大家可以关注我的专题页来及获取最新的EasyUI资源 专题页地址如下http:http://download.csdn.net/album/detail/343 同也希望转载的那些朋友能保留我资源的说明及出处地址 我花那么多精力制作出来的 你们鼠标点两下就给我转走了还不注明出处 实在是不厚道 本来就是本着分享精神的 为的就是聚集一点人气和提供一个优良的环境来一起学习进步的 请不要抹杀掉我的热情 谢谢 )   隔4个月之久 EasyUI终于迎来大版本更新了 本次更新内容诸多 除了常规维护外 还新增了3个新组件 都很实用 详细的可以阅读更新说明 里面给了详细的解读 另外 从该版本开始我将会逐步的将EasyUI官方以及第三方较好的插件API整合到API文档当中 并且会对这些插件做一些简单的Demo实现 存放到配套提供的程序包demo文件夹下 以便大家学习和使用 本期文档中将官方提供的所有附加插件的API都整理并存放到Extension节点下了 这些扩展的demo在附带的程序包中已经提供 可以用于参考使用 jQuery EasyUI 1 4版本更新内容: Bug(修复) menu:修复在删除一个菜单项的候该菜单无法正确自适应高度的问题; datagrid:修复在datagrid宽度太小的候“fitColumns”方法无法正常工作的问题 Improvement(改进) EasyUI的所有组件已经支持非固定 百分比大小的尺寸设置; menu:添加“showItem” “hideItem”和“resize”方法; menu:基于窗体大小自动调整高度; menu:添加“duration”属性 该属性允许用户自定义隐藏菜单动画的持续间 以毫秒为单位; validatebox:添加“onBeforeValidate”和“onValidate”事件; combo:从该版本开始combo组件扩展自textbox组件(textbox是1 4中新增的组件); combo:添加“panelMinWidth” “panelMaxWidth” “panelMinHeight”和“panelMaxHeight”属性; searchbox:从该版本开始searchbox组件扩展自textbox组件(textbox是1 4中新增的组件); tree:添加“getRoot”方法 用于返回通过“nodeEl”参数指定的节点的顶部父节点元素 注意:官网的英文API中该函数的说明有误 其说明是none 无参数 实际这里是需要参数的 ; tree:添加“queryParams”属性; datetimebox:添加“spinnerWidth”属性; panel:添加“doLayout”方法 用于控制面板内组件的大小; panel:添加“clear”方法 用于清除面板内的内容; datagrid:允许用户设置百分比宽度的列(该功能真是千呼万唤始出来啊 ); form:添加“ajax” “novalidate”和“queryParams”属性; linkbutton:添加“resize”方法 New Plugin(新组件) textbox:该组件是一个增强的输入字段 它可以让用户非常简单的构建一个表单; datetimespinner:该组件是一个日期和间的微调组件 它允许我们选择一个特定的日期或间; filebox:filebox 该组件表单元素中用于上传文件的文件框工具组件 ">(题外话:从本次开始 我新增了jQuery EasyUI的专题页面 大家可以关注我的专题页来及获取

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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