C# DropDownList GridView行值错误

C# DropDownList GridView行值错误,c#,.net,sql-server,C#,.net,Sql Server,我有一个GridView,它从SQLDataSource读取数据。数据源有一个从复选框中提取的select参数。选中时,将显示过期记录 <asp:ControlParameter Name="showHidden" ControlID="showHiddenEntries" DbType="Boolean" DefaultValue="0" PropertyName="Checked" /> 然后我有一个开关语句,用于DropDownLis

我有一个
GridView
,它从
SQLDataSource
读取数据。数据源有一个从
复选框中提取的select参数。选中时,将显示过期记录

<asp:ControlParameter Name="showHidden" 
    ControlID="showHiddenEntries" 
    DbType="Boolean" 
    DefaultValue="0" 
    PropertyName="Checked" /> 
然后我有一个开关语句,用于
DropDownList
的值

在显示隐藏项的情况下运行我的select查询将生成ID的

650, 663, 675, 679, 648, 660, 680, 668, 657, 649
条目650和675为“隐藏”。通过选中
showHiddenEntries
复选框
GridView
显示我列出的ID。当我从
DropDownList
中选择某个内容并循环浏览gV的数据键时,我看到

663, 679, 648, 660, 680, 668, 657, 649, 645, 652
RowIndex
是正确的,但是
rowValue
是错误的。我检查了另一个项目,我做了一些类似的事情,它看起来和我一样,功能完美。有人能给我指出解决这个问题的正确方向吗

谢谢

托尼W


编辑:我刚刚意识到我的措辞有点糟糕。
行索引
是正确的,但整行都是错误的,不仅仅是
行值
。如果我选中了
showHiddenEntries
,在我的GridView中,第0行是
10,“Jane”,“Doe”,隐藏的
,第1行是
15,“Misc”,“Person”,显示的
,我从第0行的下拉列表中选择
RowIndex
计算为0,数据是
15,“Misc”,“Person”,显示的
,看起来所有的值都在那里,只是没有按照预期的顺序。通常,在启用排序时会发生这种情况。尝试使用
DisplayIndex

看起来所有的值都在那里,只是没有按照预期的顺序。通常,在启用排序时会发生这种情况。尝试使用
DisplayIndex

谢谢,但我认为不是这样。hidden=1的值不在
gV
DataKeys
中,其他的x数字在那里并且顺序正确。@ToniW:我有点困惑?你能澄清一下吗?我对原文做了一点编辑,以包括一个正在发生的事情的例子。ORDER BY基于不更改的日期时间。如果我有100行,并将我的gridview设置为显示所有行,它们将以正确的顺序返回,并在我的gridview中显示它们所属的隐藏值。如果我激活一个rows-DropDownList并使用原始post中的代码获取GridView,然后通过它的数据键循环,它会显示98个条目,不包括那些hidden=1的条目,但我认为不是这样。hidden=1的值不在
gV
DataKeys
中,其他的x数字在那里并且顺序正确。@ToniW:我有点困惑?你能澄清一下吗?我对原文做了一点编辑,以包括一个正在发生的事情的例子。ORDER BY基于不更改的日期时间。如果我有100行,并将我的gridview设置为显示所有行,它们将以正确的顺序返回,并在我的gridview中显示它们所属的隐藏值。如果我激活一个rows-DropDownList并使用原始post中的代码获取GridView,然后通过其数据键循环,它将显示98个条目,不包括hidden=1的条目
663, 679, 648, 660, 680, 668, 657, 649, 645, 652