c# - Gridview 排序后自动选择第一行

标签 c# asp.net sorting gridview

我正在使用对象数据源在 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/

相关文章:

c# - 在图片框内创建矩形绘图

c# - NerdDinner DinnerFormViewModel 错误 CS0030 错误

asp.net - 使用asp.net MVC分页搜索结果

c# - 获取错误 "there is no row at position 0"

algorithm - 提交后 Geeksforgeeks 将我的代码显示为运行时错误

python - 如何在 Python 中对图形进行聚类?

c#通用转换器

c# - LINQ 的 Func<bool> 只调用一次?

c# - Razor 中 ViewModel 的模型名称

java - 根据对象属性对对象数组列表进行排序