下拉列表网格视图行错误值
本文关键字:错误 视图 网格 下拉列表 | 更新日期: 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
。