我有一个GridView
从 a 读取的SQLDataSource
。数据源有一个从CheckBox
. 检查时显示过时的记录。
<asp:ControlParameter Name="showHidden"
ControlID="showHiddenEntries"
DbType="Boolean"
DefaultValue="0"
PropertyName="Checked" />
我正在考虑在GridView
狭窄页面上节省空间的想法,并将标准控件替换为DropDownList
. 在onSelectedIndexChanged
我设置的 DropDownLists...
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
是错的。我检查了另一个项目,在那里我做了类似的事情,它看起来和我一模一样并且功能完美。谁能指出我正确的方向来解决这个问题?
谢谢!
托尼·W。
编辑:我刚刚意识到我的措辞有点糟糕。是正确的RowIndex
,但整行都是错误的,而不仅仅是rowValue
. 如果我showHiddenEntries
检查过,在我的 GridView 中,第 010, "Jane", "Doe", hidden
行是第 1 行15, "Misc", "Person", shown
,我从第 0 行的 DropDownList 中选择RowIndex
的结果为 0,数据为15, "Misc", "Person", shown
.