我正在使用对象数据源在 asp.net 网络表单中处理主/详细信息 GridView 和详细信息 View 。详细信息 View 显示有关 gridview 中所选行的额外信息。当我对网格进行排序时,我希望当前选定的行在排序发生之前在排序完成后保留在详细信息 View 中。相反,每当我排序时,gridview 会自动选择新的第一行。
我找到了这个问题的部分解决方案。如果我设置 WhateverGridview.SelectedIndex= -1 onsort 并且该值变为空。这使得它在排序后取消选择任何行。这会使详细信息 View 留空。但是,我想要做的是保持选定的行而不是使它无效。
那么,有没有人有好的方法来保留选定的值或阻止在排序事件触发后显示详细信息 View 。
最佳答案
这里需要用到GridView.EnablePersistedSelection
属性(property)。将此属性设置为 true
。
将此属性设置为 true
意味着 GridView
将确保行的选择基于数据键值。
默认情况下,GridView 根据索引进行行选择。这就是为什么当您排序时,gridview 根据索引选择行而您丢失实际选择的行的原因。
关于c# - Gridview 排序后自动选择第一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20555070/