[英]Grid View Selected row cell value getting null
我的asp.net页面上有一个网格。 在选定的索引更改事件中,我实现了以下代码。
int ID = Convert.ToInt32(grdMnaualEntryTransactionTemplate.Rows[selectedIndex +1].Cells[1].Text);
Cell1是一个数字,在运行时它给我一个错误“输入字符串的格式不正确”。它的发生是由于“文本”在运行时变为空。 我在选定的索引更改事件中也暗示了以下代码,它始终会得到一个值。
int selectedIndex = grdMnaualEntryTransactionTemplate.SelectedIndex;
为什么要使用selectedIndex + 1
? 这将为您提供所选行下方的行,并且当用户选择网格中的最后一行时将引发异常。
尝试int ID = Convert.ToInt32(grdMnaualEntryTransactionTemplate.Rows[selectedIndex].Cells[1].Text);
代替。
您可以这样使用..这是在gridview中获取选定行的数据的简单方法。请尝试以下代码。
int ID = Convert.ToInt32(grdMnaualEntryTransactionTemplate.SelectedRow.Cells[1].Text);
如果要选择值,则可以通过DataKeyName
设置并调用SelectedIndexChanged
事件。
string data = grdMnaualEntryTransactionTemplate.SelectedValue.ToString();
如果您在网格上有操作按钮,即 选择,编辑等,然后它们将在Rows.Cells[]
数组中。 因此,如果每行具有三个“选择”,“编辑”,“删除”按钮,则第一个实际数据单元将为数组索引[3]。
正如其他人指出的那样,索引+1也是不正确的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.