下拉列表网格视图行错误值

本文关键字:错误 视图 网格 下拉列表 | 更新日期: 2023-09-27 18:33:51

我有一个从SQLDataSource读取的GridView。数据源具有从CheckBox中提取的选择参数。当签入时,将显示过时的记录。

<asp:ControlParameter Name="showHidden" 
    ControlID="showHiddenEntries" 
    DbType="Boolean" 
    DefaultValue="0" 
    PropertyName="Checked" /> 

我正在玩一个想法,以节省狭窄页面上GridView的空间,并用DropDownList替换了标准控件。在我设置onSelectedIndexChanged下拉列表中...

DropDownList controlList = (DropDownList)sender;
GridViewRow row = (GridViewRow)controlList.NamingContainer;
int RowIndex = row.RowIndex;
string rowValue = gV.DataKeys[RowIndex].Value.ToString(); 

然后我有一个用于DropDownList值的开关语句。

在显示隐藏条目的情况下运行我的选择查询会生成 ID 的

650, 663, 675, 679, 648, 660, 680, 668, 657, 649

条目 650 和 675 是"隐藏"的。选中showHiddenEntries CheckBox后,GridView将显示我列出的 ID。当我从DropDownList中选择一些东西并遍历 gV 的数据密钥时,我看到

663, 679, 648, 660, 680, 668, 657, 649, 645, 652

RowIndex是对的,但rowValue是错的。我检查了另一个项目,在那里我做了类似的事情,它看起来与我相同并且功能完美。谁能指出我解决这个问题的正确方向?

谢谢!

托尼·

编辑:我刚刚意识到我的措辞有点糟糕。RowIndex是正确的,但整行都是错误的,而不仅仅是rowValue.如果我选中了showHiddenEntries,则在我的 GridView 中,第 0 行是10, "Jane", "Doe", hidden行,第 1 行是15, "Misc", "Person", shown行,我从第 0 行的下拉列表中进行选择RowIndex计算结果为 0,数据15, "Misc", "Person", shown

下拉列表网格视图行错误值

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