索引超出范围。必须为非负值并小于集合大小。参数名: index

来源:百度知道 编辑:UC知道 时间:2024/07/02 16:50:07
再写asp.net网站,用datagrid在它的编辑点击时间中
用了
e.Item.ItemIndex
这个为什么总是报错。想得到数据库中我所选的编辑行的id应该怎么取得啊?那个时自动增长列。而且设了它为主键。在线等待等待高手解决~~

这个返回的是你选中的是第几行~~
第一行返回的是0。以此类推~~
这样你就应该知道你为什么出这个错误了~~
竟然说你,选中的是复述行~~那就是你的代码或者数据有问题了

因为是从0开始的.应该有e.Item.ItemIndex -1 (VB中的用法.)

我用Sql Server 中 Northwind数据库的Products表
添加TextBox 和 DataGrid 控件,在TextBox 中显示选择的行的ProductID

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:DataGrid ID="DataGrid1" runat="server" AutoGenerateColumns="False" OnSelectedIndexChanged="DataGrid1_SelectedIndexChanged">
<Columns>
<asp:BoundColumn DataField="ProductID" Visible="False"></asp:BoundColumn>
<asp:BoundColumn DataField="ProductName" HeaderText="产品名"></asp:BoundColumn>
<asp:BoundColumn DataField="UnitPrice" HeaderText="价格"></asp:BoundColumn>
<asp:BoundColumn Data