【发布时间】:2014-10-21 12:07:13
【问题描述】:
我正在使用由 SQL Server 存储过程填充的 GridView,例如。 当试图从 GV 中提取特定的单元格值时,我的代码返回了错误的值和类型;我不知道为什么:
String itemSummary = e.Row.Cells[4].Text;
String itemTotal = e.Row.Cells[8].Text;
虽然数据库表中的数据是 double 18,2 类型,并且 sproc 正在检索数据并成功填充 GV,但当我去提取 itemSummary 时,代码返回“Cn”。以完全相同的方式提取的 itemTotal 正在按预期返回。看着 GridView,我什至看不到“Cn”的起源。
当我使用断点单步执行代码时,我可以深入到行的 ItemArray 并清楚地看到行索引 [4] 处的预期值,但 e.Row.Cells[4].Text 仍然返回字符串“Cn”。
e.Row.Cells[8].Text 再次返回与行的 ItemArray 中的行索引 [8] 表示的值相同的值。
我需要这方面的帮助;任何想法将不胜感激..
【问题讨论】:
-
尝试使用列名检索值,这样您就可以确定它得到了您想要的。
-
您在哪种情况下尝试访问这些值?如果您使用
TemplateField而不是BoundField,则使用FindControl方法查找在ItemTemplate中声明的相应控件并尝试访问Text属性。
标签: c# asp.net sql-server gridview